cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (Issue Comment Edited) (JIRA)" <j...@apache.org>
Subject [jira] [Issue Comment Edited] (CASSANDRA-4093) schema_* CFs do not respect column comparator which leads to CLI commands failure.
Date Fri, 06 Apr 2012 03:31:19 GMT

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

Jonathan Ellis edited comment on CASSANDRA-4093 at 4/6/12 3:30 AM:
-------------------------------------------------------------------

bq. What I'm worried about is that it forces us to distinguish between "logical" and "physical"
columns again. 

That said, you're probably right that for CQL users this is an implementation detail that
they won't care about.  And Thrift users can carry on with CT definitions to the degree they
have or haven't previously, I suppose.

But, that doesn't mean we should gratuitously blur the lines between the two.

So here is what I propose:

- Change ColumnDefinition back to its old behavior.  I guess we'll need to add the int to
allow us to support CQL3 internally, but we don't need to expose it to thrift yet, if at all.
 (Alternatively we could add a cql_column_metadata that supports the new semantics.)
- Remove column_aliases and value_aliases from Thrift.  They serve no purpose there than to
give users a gun with which to shoot themselves in the foot.

                
      was (Author: jbellis):
    bq. What I'm worried about is that it forces us to distinguish between "logical" and "physical"
columns again. 

That said, you're probably right that for CQL users this is an implementation detail that
they won't care about.  And Thrift users can wallow in the mud to their hearts' content, I
suppose.

But, that doesn't mean we should gratuitously blur the lines between the two.

So here is what I propose:

- Change ColumnDefinition back to its old behavior.  I guess we'll need to add the int to
allow us to support CQL3 internally, but we don't need to expose it to thrift yet, if at all.
 (Alternatively we could add a cql_column_metadata that supports the new semantics.)
- Remove column_aliases and value_aliases from Thrift.  They serve no purpose there than to
give users a gun with which to shoot themselves in the foot.

                  
> 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

        

Mime
View raw message