[ 
https://issues.apache.org/jira/browse/CASSANDRA-10721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15046397#comment-15046397
 ] 

Robert Stupp commented on CASSANDRA-10721:
------------------------------------------

bq. referencesUserType(String name) does not check the keyspace for the UDT.

AFAIK we don't allow cross-keyspace references at all - so it felt ok to 
basically copy what's in {{CQL3Type.Raw.referencesUserType}}.

bq. referencesUserType ... was in AbstractType

That's correct. Moved that to CQL3Type as I thought it's better to not add new 
stuff to old API classes. And since the code's not used in a critical path, 
that change looked maybe not optimal but reasonable. But I won't fight against 
moving it back to AbstractType. However we could thing of keeping a reference 
to the CQL3Type in AbstractType to optimize that if it is used in a critical 
code path.

Will fix the other issues (two points for more utests + removal of isBroken) 
you mentioned.

> Altering a UDT might break UDA deserialisation
> ----------------------------------------------
>
>                 Key: CASSANDRA-10721
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10721
>             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
(v6.3.4#6332)

Reply via email to