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

Sylvain Lebresne commented on CASSANDRA-4093:
---------------------------------------------

bq. but we don't index CTs yet either

That's not true. We do support indexes on full CT currently (by the mere fact 
that CompositeType is a fully functional AbstractType). What we don't support 
(yet) is indexing on a specific component of a CT.

Now, we agreed on CASSANDRA-3782 that it could sometimes be usefull to index a 
specific column in a wide row as a way of 'tagging' such wide rows (and there 
is probably other useful use cases). Why would that suddently stop making sense 
because the name is a composite one?

So this is supported and this does have some reasonable use cases. As such, I 
*strongly* think that it would be unreasonable to break it (and in that case, 
auto-dropping the index for people (or even forcing them to do it) would be the 
worst possible user experience ever). And I even think we should seriously give 
some though about maintaining that possibility (the ability to index on a full 
column name) even in CQL3 (which will likely be a simple and logical extension 
of CASSANDRA-3792).

bq. trying to preserve all the arbitrarily complex things you could do with the 
old CFMetadata

I disagree that this is arbitrary complex. The patch adds the ability to 
specify for a ColumnDefinition to which component it refers to. If we want to 
support secondary indexes on specific component of a composite column (which I 
think is the goal of CASSANDRA-3680), we'll have to add that exact information 
to ColumnDefinition anyway. So I think it's really adding new and useful 
flexibility.

                
> schema_* CFs do not respect column comparator which leads to CLI commands 
> failure.
> ----------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-4093
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4093
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 1.1.0
>            Reporter: Dave Brosius
>            Assignee: Sylvain Lebresne
>             Fix For: 1.1.0
>
>         Attachments: 4093.txt, CASSANDRA-4093-CD-changes.patch
>
>
> ColumnDefinition.{ascii, utf8, bool, ...} static methods used to initialize 
> schema_* CFs column_metadata do not respect CF comparator and use 
> ByteBufferUtil.bytes(...) for column names which creates problems in CLI and 
> probably in other places.
> The CompositeType validator throws exception on first column
> String columnName = columnNameValidator.getString(columnDef.name);
> Because it appears the composite type length header is wrong (25455)
> AbstractCompositeType.getWithShortLength
> java.lang.IllegalArgumentException
>       at java.nio.Buffer.limit(Buffer.java:247)
>       at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:50)
>       at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:59)
>       at 
> org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:139)
>       at 
> org.apache.cassandra.cli.CliClient.describeColumnFamily(CliClient.java:2046)
>       at 
> org.apache.cassandra.cli.CliClient.describeKeySpace(CliClient.java:1969)
>       at 
> org.apache.cassandra.cli.CliClient.executeShowKeySpaces(CliClient.java:1574)
> (seen in trunk)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to