Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Single node, trunk
-
Normal
Description
Create a new cf with a secondary index, and queries with indexes predicates work fine until the server is restarted, after which they error and the following stacktrace is output to the log:
java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.nio.ByteBuffer at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:88) at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:1) at org.apache.cassandra.utils.IntervalTree.comparePoints(IntervalTree.java:191) at org.apache.cassandra.utils.IntervalTree.contains(IntervalTree.java:203) at org.apache.cassandra.utils.IntervalTree.access$3(IntervalTree.java:201) at org.apache.cassandra.utils.IntervalTree$IntervalNode.searchInternal(IntervalTree.java:293) at org.apache.cassandra.utils.IntervalTree.search(IntervalTree.java:140) at org.apache.cassandra.utils.IntervalTree.search(IntervalTree.java:146) at org.apache.cassandra.db.ColumnFamilyStore.markReferenced(ColumnFamilyStore.java:1259) at org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:229) at org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:65) at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1300) at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1174) at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1104) at org.apache.cassandra.db.index.keys.KeysSearcher$1.computeNext(KeysSearcher.java:144) at org.apache.cassandra.db.index.keys.KeysSearcher$1.computeNext(KeysSearcher.java:1) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1409) at org.apache.cassandra.db.index.keys.KeysSearcher.search(KeysSearcher.java:88) at org.apache.cassandra.db.index.SecondaryIndexManager.search(SecondaryIndexManager.java:595) at org.apache.cassandra.db.ColumnFamilyStore.search(ColumnFamilyStore.java:1398) at org.apache.cassandra.service.RangeSliceVerbHandler.executeLocally(RangeSliceVerbHandler.java:47) at org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:870) at org.apache.cassandra.cql3.statements.SelectStatement.multiRangeSlice(SelectStatement.java:259) at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:134) at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:108) at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:121) at org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1236) at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3542) at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:1) 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:184) 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)
Tested with a single node setup & verified that this behaviour is only present in trunk, cassandra-1.0.10 works as expected.
Attachments
Attachments
Issue Links
- relates to
-
CASSANDRA-4331 sstable2json error
- Resolved