cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (Commented) (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-4093) schema_* CFs do not respect column comparator which leads to CLI commands failure.
Date Fri, 30 Mar 2012 07:52:45 GMT


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

> schema_* CFs do not respect column comparator which leads to CLI commands failure.
> ----------------------------------------------------------------------------------
>                 Key: CASSANDRA-4093
>                 URL:
>             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(;
> Because it appears the composite type length header is wrong (25455)
> AbstractCompositeType.getWithShortLength
> java.lang.IllegalArgumentException
> 	at java.nio.Buffer.limit(
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.getString(
> 	at org.apache.cassandra.cli.CliClient.describeColumnFamily(
> 	at org.apache.cassandra.cli.CliClient.describeKeySpace(
> 	at org.apache.cassandra.cli.CliClient.executeShowKeySpaces(
> (seen in trunk)

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message