[ https://issues.apache.org/jira/browse/CASSANDRA-1761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13006729#comment-13006729 ]
Jon Hermes commented on CASSANDRA-1761: --------------------------------------- Because the column_metadata has to be passed in full, it can be fully validated in ThriftValidation of the cf_def in the system_{update,add}_column_family and system_add_keyspace calls. In related news, I also found out that we never validated CfDefs in system_update_column_family, so I'm surprised to say the least and glad it was found in an innocuous bug instead of something more serious. As for the one-schema-change-at-a-time rule, this is now enforced by default with validateSchemaAgreement() calls in CassandraServer. > Indexes: Auto-generating the CFname may collide with user-generated names > ------------------------------------------------------------------------- > > Key: CASSANDRA-1761 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1761 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 0.7 beta 3 > Reporter: Jon Hermes > Assignee: Jon Hermes > Priority: Minor > Fix For: 0.7.5 > > Attachments: 1761.txt > > Original Estimate: 16h > Remaining Estimate: 16h > > {noformat}column_families: > - name: CF > comparator: BytesType > column_metadata: > - name: foo > index_name: 626172 > index_type: KEYS > - name: bar > index_type: KEYS{noformat} > Auto-generated versus user-supplied names collide in the YAML above. The code: > {code}cfname = parentCf + "." + (info.getIndexName() == null ? > FBUtilities.bytesToHex(info.name) : info.getIndexName()){code} > From the first ColumnDefinition, we create cfname = "CF.626172" (from the > fail clause of the ternany, user-supplied name) > From the second ColumnDefinition, we create cfname = "CF.626172" (from the > pass clause of the ternary, we generate the name) > They're in hex form. This is possible, but fairly unlikely that someone will > do this. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira