You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jon Hermes (JIRA)" <ji...@apache.org> on 2011/03/15 01:01:29 UTC
[jira] Commented: (CASSANDRA-1761) Indexes: Auto-generating the
CFname may collide with user-generated names
[ 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