Tyler Hobbs created CASSANDRA-5287:
--------------------------------------

             Summary: Composite comparators for super CFs broken in 1.2
                 Key: CASSANDRA-5287
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5287
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.2.0
            Reporter: Tyler Hobbs


In Cassandra 1.2.0 through 1.2.2, attempting to insert data into a super column 
family with a CompositeType comparator results in the following stacktrace:

{noformat}
ERROR 14:56:49,920 Error occurred during processing of message.
java.lang.IllegalArgumentException
        at java.nio.Buffer.limit(Buffer.java:249)
        at 
org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:51)
        at 
org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:60)
        at 
org.apache.cassandra.db.marshal.AbstractCompositeType.split(AbstractCompositeType.java:126)
        at 
org.apache.cassandra.config.CFMetaData.getColumnDefinitionFromColumnName(CFMetaData.java:920)
        at 
org.apache.cassandra.thrift.ThriftValidation.validateColumnData(ThriftValidation.java:404)
        at 
org.apache.cassandra.thrift.ThriftValidation.validateColumnOrSuperColumn(ThriftValidation.java:287)
        at 
org.apache.cassandra.thrift.ThriftValidation.validateMutation(ThriftValidation.java:343)
        at 
org.apache.cassandra.thrift.CassandraServer.createMutationList(CassandraServer.java:704)
        at 
org.apache.cassandra.thrift.CassandraServer.batch_mutate(CassandraServer.java:752)
        at 
org.apache.cassandra.thrift.Cassandra$Processor$batch_mutate.getResult(Cassandra.java:3622)
        at 
org.apache.cassandra.thrift.Cassandra$Processor$batch_mutate.getResult(Cassandra.java:3610)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
        at 
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
{noformat}

Client-side, you'll just see "{{TTransportException: TSocket read 0 bytes}}".

Cassandra 1.1 doesn't have the same problem.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to