Hi, but if the data must be converted, this is something that should be fixed inside cassandra… Is this a bug, should I file a bug report? Or is there some kind of setting I can change to make it work for now?
Maybe it is related to this issue, but this should have been fixed in 1.1.0: https://issues.apache.org/jira/browse/CASSANDRA-3954 Thanks Ivo Am 26.06.2012 um 09:26 schrieb Fei Shan: > Hi > > please refer JDK nio package's ByteBuffer, I don't think that ByteBuffer > can be cast from the BigInteger directly, > it seems you need make some conversion before put it into a ByteBuffer. > > Thanks > Fei > > On Tue, Jun 26, 2012 at 12:07 AM, Ivo Meißner <i...@overtronic.com> wrote: > Hi, > > I am running into some problems with secondary indexes that I am unable to > track down. When I restart the cassandra service, the secondary index data > won't load and I get the following error during startup: > > INFO 08:29:42,127 Opening > /var/myproject/cassandra/data/mykeyspace/group_admin/mykeyspace-group_admin.group_admin_groupId_idx-hd-1 > (20808 bytes) > ERROR 08:29:42,159 Exception in thread Thread[SSTableBatchOpen:1,5,main] > java.lang.ClassCastException: java.math.BigInteger cannot be cast to > java.nio.ByteBuffer > at > org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.java:37) > at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:45) > at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:89) > at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:38) > at java.util.TreeMap.getEntry(TreeMap.java:328) > at java.util.TreeMap.containsKey(TreeMap.java:209) > at java.util.TreeSet.contains(TreeSet.java:217) > at > org.apache.cassandra.io.sstable.SSTableReader.load(SSTableReader.java:396) > at > org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:187) > at > org.apache.cassandra.io.sstable.SSTableReader$1.run(SSTableReader.java:225) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > 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) > > When the service starts I can still select data from the column family, but > not using the secondary index. > After I execute "nodetool rebuild_index" the secondary index works fine again > until the next restart. > > The error only seems to occur on the column groupId (TimeUUIDType). The other > index on userId seems to work. > > I have the following column family definition: > > create column family group_admin with > comparator = UTF8Type and > key_validation_class = UTF8Type and > column_metadata = [ > {column_name: id, validation_class: UTF8Type}, > {column_name: added, validation_class: LongType}, > {column_name: userId, validation_class: BytesType, index_type: KEYS}, > {column_name: requestMessage, validation_class: UTF8Type}, > {column_name: status, validation_class: LongType}, > {column_name: groupId, validation_class: TimeUUIDType, index_type: KEYS} > ]; > > Thank you very much for your help! > > Ivo >