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 Sat, 31 Mar 2012 13:48:26 GMT


Sylvain Lebresne commented on CASSANDRA-4093:

Because the system CFs are using CQL3 style metadata so that we can display them nicely when
queried with CQL3. So typically the CLI (or anyone else) needs that info to be able to correctly
decode and display the system table definitions.

Besides, when we add the ability to index the components of a CT, the fact that component_index
is exposed through thrift means that the thrift user will be able to use that new functionality,
which while probably not a priori is still nice.

Lastly, the field is useful internally in ColumnDefinition so not adding it to ColumnDef (to
say avoid confusing thrift user) would imo be a bit dangerous (it would make using both thrift
and CQL3 at the same time difficult, which may be useful for people transitioning to CQL3).
Overall I really don't think adding the new field is such a big deal. It is true that is is
currently mildly useful for pure thrift user, but it's not like it's something new. All the
aliases (key_alias, column_aliases, value_alias) are only useful to CQL3 but yet have been
added on the thrift side. This is not really different.
> 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