You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Igor Zubchenok (JIRA)" <ji...@apache.org> on 2014/08/26 02:43:58 UTC

[jira] [Created] (CASSANDRA-7828) New node cannot be added if a composite column was dropped

Igor Zubchenok created CASSANDRA-7828:
-----------------------------------------

             Summary: New node cannot be added if a composite column was dropped
                 Key: CASSANDRA-7828
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7828
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Igor Zubchenok
         Attachments: java.lang.RuntimeException.txt, mycolumnfamily.txt

I get a RuntimeException at new node system.log on bootstrapping a new DC:

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException
	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:413)
	at org.apache.cassandra.db.index.SecondaryIndexManager.maybeBuildSecondaryIndexes(SecondaryIndexManager.java:142)
	at org.apache.cassandra.streaming.StreamReceiveTask$OnCompletionRunnable.run(StreamReceiveTask.java:113)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:188)
	at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:409)
	... 9 more
Caused by: java.lang.IllegalArgumentException
	at java.nio.Buffer.limit(Buffer.java:267)
	at org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587)
	at org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596)
	at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61)
	at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36)
	at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:44)
	at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85)
	at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:36)
	at java.util.concurrent.ConcurrentSkipListMap.findNode(ConcurrentSkipListMap.java:804)
	at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828)
	at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626)
	at org.apache.cassandra.db.Memtable.resolve(Memtable.java:215)
	at org.apache.cassandra.db.Memtable.put(Memtable.java:173)
	at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:900)
	at org.apache.cassandra.db.index.AbstractSimplePerColumnSecondaryIndex.insert(AbstractSimplePerColumnSecondaryIndex.java:107)
	at org.apache.cassandra.db.index.SecondaryIndexManager.indexRow(SecondaryIndexManager.java:441)
	at org.apache.cassandra.db.Keyspace.indexRow(Keyspace.java:413)
	at org.apache.cassandra.db.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:62)
	at org.apache.cassandra.db.compaction.CompactionManager$9.run(CompactionManager.java:834)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	... 3 more

The exception stacktrace is attached (see java.lang.RuntimeException.txt).

My steps to reproduce (cassandra 2.0.9):
1. Create a CF with a secondary index on a CompositeType(Int32Type, UUIDType) column in DC1, one node, NetworkTopologyStrategy, options DC1=1, DC2=1. (see mycolumnfamily.txt)
2. Create secondary index on the column of CompositeType.
3. Write any composite value to a row.
4. Drop the value.
5. Write another composite value to another row.
6. Drop second value.
7. Bootstrap add a new DC2.

The similar issue I got  on indexed composite column in a single 3 nodes DC with SimpleStrategy and replication_factor=3 (cassandra 1.2.18).



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