[ https://issues.apache.org/jira/browse/CASSANDRA-10721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15035850#comment-15035850 ]
Benjamin Lerer commented on CASSANDRA-10721: -------------------------------------------- It seems that the branch contains a left over from some additional work (the second commit). For the first commit: * I think that we should probably refactor the {{userTypeUsedBy}} method. All those {{instanceof}} are a clear sign that we should be using polymorphism (e.g. adding a {{useUserType(keyspaceName, typeName)}} to {{AbstractType}}). * {{checkTypeNotUsedByAggregate}} could be simplified by using {{ksm.functions.udas.anyMatch(<the predicate>)}}. * In the unit test, I think that the name {{alterDropSequence}} is a bit confusing. It should probably be changed to something that express better the fact that the method is checking that we cannot alter or drop the user type. > 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)