cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Lerer (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10721) Altering a UDT might break UDA deserialisation
Date Thu, 03 Dec 2015 20:17:11 GMT


Benjamin Lerer commented on CASSANDRA-10721:

* The {{referencesUserType(String name)}} does not check the keyspace for the UDT. I think
it could lead to some problems if we had a UDT with the same name in a different keyspace.
It might be good to add a unit test for it.
* It seems to me that if the {{referencesUserType}} method was in {{AbstractType}}  (something
like: {{referencesUserType(String keyspace, ByteBuffer name)}}), it would removes all these
{{asCQL3Type()}} calls and make the code more readable. What do you think?
* The {{isBroken}} and the follow-up notes should be removed. They are not needed by the patch.
* It might be good to add some extra unit tests to check UDT nested in (Sets, Maps or Tulpes)
for extra security.

> Altering a UDT might break UDA deserialisation
> ----------------------------------------------
>                 Key: CASSANDRA-10721
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL, Distributed Metadata
>            Reporter: Aleksey Yeschenko
>            Assignee: Robert Stupp
>             Fix For: 3.0.x
> CASSANDRA-10650 switched UDA's {{initcond}} serialisation in schema to its CQL literal.
This means that if any particular field is renamed in the UDT, or of its type gets changes,
we will not be able to parse initcond back.
> We should either:
> 1) Forbid renames and type switches in UDTs that are being used in UDAs, or
> 2) Make sure we alter the UDAs in schema alongside the new UDT at all times

This message was sent by Atlassian JIRA

View raw message