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

Pavel Yaskevich commented on CASSANDRA-1773:
--------------------------------------------

Actually it is trying to convert column names according to comparator on CF 
create/update but the problem was that if CF was marked as Super it was still 
using "cf_def.comparator" instead of "cf_def.subcomparator" to validate names, 
so 
{code}
create column family foo with column_type = 'Super' and comparator = 
'TimeUUIDType' and subcomparator = 'UTF8Type' and 
column_metadata=[{column_name:col1, validation_class:UTF8Type}, 
{column_name:col2, validation_class:UTF8Type}];
{code}
was doing a wrong thing and on "describe_keyspace" cf_def.comparator was used 
all the time so it wasn't working... So in my patch I have fixed it to use 
"subcomparator" for Super. Isn't this correct?

> Prevent creation of column_metadata inconsistent with comparator
> ----------------------------------------------------------------
>
>                 Key: CASSANDRA-1773
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1773
>             Project: Cassandra
>          Issue Type: Improvement
>    Affects Versions: 0.7.0 rc 1
>            Reporter: Jonathan Ellis
>            Assignee: Pavel Yaskevich
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 1773-server-side.txt, CASSANDRA-1773.patch
>
>
> {code}
> create keyspace clitest with replication_factor = 1 and placement_strategy = 
> 'org.apache.cassandra.locator.SimpleStrategy';
> use clitest;
> create column family bar with column_type = 'Super' and comparator = 
> 'TimeUUIDType' and subcomparator = 'UTF8Type';
> create column family foo with column_type = 'Super' and comparator = 
> 'TimeUUIDType' and subcomparator = 'UTF8Type' and 
> column_metadata=[{column_name:col1, validation_class:UTF8Type}, 
> {column_name:col2, validation_class:UTF8Type}];
> {code}
> then, "describe keyspace clitest" will give "UUIDs must be exactly 16 bytes" 
> because it tries to run "col1" through the comparator getString.
> We should check that column names in metadata match the comparator when 
> updating metadata, and also check that the column names are sane if we update 
> the comparator itself.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to