You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ben Hood (JIRA)" <ji...@apache.org> on 2014/04/17 09:11:14 UTC

[jira] [Created] (CASSANDRA-7048) Cannot get comparator 2 in CompositeType

Ben Hood created CASSANDRA-7048:
-----------------------------------

             Summary: Cannot get comparator 2 in CompositeType
                 Key: CASSANDRA-7048
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7048
             Project: Cassandra
          Issue Type: Bug
         Environment: Archlinux, AWS m1.large
            Reporter: Ben Hood
         Attachments: cassandra.log.zip

I've left a Cassandra instance in limbo for the last days, meaning that it has been happily serving read requests, but I've cut off the data ingress, but I was doing some read-only development.

After not writing anything to Cassandra for a few days, I got the following error for the first write to Cassandra:

Caused by: java.lang.RuntimeException: Cannot get comparator 2 in org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.TimestampType,org.apache.cassandra.db.marshal.UTF8Type). This might due to a mismatch between the schema and the data read
        at org.apache.cassandra.db.marshal.CompositeType.getComparator(CompositeType.java:133)
        at org.apache.cassandra.db.marshal.AbstractCompositeType.split(AbstractCompositeType.java:137)
        at org.apache.cassandra.db.filter.ColumnCounter$GroupByPrefix.count(ColumnCounter.java:115)
        at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:192)
        at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122)
        at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80)
        at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:72)
        at org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:297)
        at org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:53)
        at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1551)
        at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1380)
        at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:327)
        at org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:65)
        at org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1341)
        at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1896)
        ... 3 more
Caused by: java.lang.IndexOutOfBoundsException: index (2) must be less than size (2)
        at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:306)
        at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:285)
        at com.google.common.collect.RegularImmutableList.get(RegularImmutableList.java:65)
        at org.apache.cassandra.db.marshal.CompositeType.getComparator(CompositeType.java:124)
        ... 17 more


I'm not sure whether this is the root cause, so I'm attaching the server log file.

I'm going to try to investigate a bit further, to see what changes, if any the application driver introduced.



--
This message was sent by Atlassian JIRA
(v6.2#6252)