Description
I appreciate that 1.1 is still unreleased, but I wanted to flag this up early in case nobody had tested it.
Tested with current 1.0.6 branch (0f2121e31032df105ca2846380b98a563d1b2c8a) and current trunk (38c04fef0a431bf29010074bad1d35d87a739c02) from git.
Steps to reproduce:
- start a cass 1.0.6 instance with initial_token = 0 and partitioner = RP
- insert some data (with rf=2)
create keyspace ks with placement_strategy='org.apache.cassandra.locator.SimpleStrategy' and strategy_options = {replication_factor:2}; use ks; create column family cf with column_type='Standard'; set cf[ascii('foo')][ascii('bar')] = ascii('baz'); set cf[ascii('bar')][ascii('baz')] = ascii('quux');
- start a cass 1.1 instance with auto_bootstrap: true, half the token ring and the first host as a seed
- 1.1 node logs this error:
ERROR [ReadStage:1] 2012-01-05 16:12:19,855 AbstractCassandraDaemon.java (line 137) Fatal exception in thread Thread[ReadStage:1,5,main] java.lang.NullPointerException at org.apache.cassandra.config.CFMetaData.fromAvro(CFMetaData.java:395) at org.apache.cassandra.db.migration.AddColumnFamily.subinflate(AddColumnFamily.java:104) at org.apache.cassandra.db.migration.Migration.deserialize(Migration.java:292) at org.apache.cassandra.db.DefinitionsUpdateVerbHandler.doVerb(DefinitionsUpdateVerbHandler.java:57) at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636)
- apply patches from
CASSANDRA-1391to the 1.1 node, since this is scheduled for 1.1 and removes the to/fromAvro stuff - bootstrap again, this time 1.0.6 node logs these errors:
ERROR [GossipStage:1] 2012-01-05 16:53:59,076 AbstractCassandraDaemon.java (line 138) Fatal exception in thread Thread[GossipStage:1,5,main] java.lang.UnsupportedOperationException: Not a time-based UUID at java.util.UUID.timestamp(UUID.java:331) at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121) at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99) at org.apache.cassandra.service.MigrationManager.onJoin(MigrationManager.java:64) at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:857) at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908) at org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:68) at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) ERROR [ReadStage:3] 2012-01-05 16:54:00,053 AbstractCassandraDaemon.java (line 138) Fatal exception in thread Thread[ReadStage:3,5,main] java.lang.RuntimeException: java.io.EOFException at org.apache.cassandra.service.IndexScanVerbHandler.doVerb(IndexScanVerbHandler.java:51) at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Caused by: java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:392) at org.apache.cassandra.utils.FBUtilities.deserialize(FBUtilities.java:404) at org.apache.cassandra.db.IndexScanCommand$IndexScanCommandSerializer.deserialize(IndexScanCommand.java:102) at org.apache.cassandra.db.IndexScanCommand.read(IndexScanCommand.java:80) at org.apache.cassandra.service.IndexScanVerbHandler.doVerb(IndexScanVerbHandler.java:40) ... 4 more ERROR [ReadStage:34] 2012-01-05 16:54:10,082 AbstractCassandraDaemon.java (line 138) Fatal exception in thread Thread[ReadStage:34,5,main] java.lang.RuntimeException: java.io.EOFException at org.apache.cassandra.service.IndexScanVerbHandler.doVerb(IndexScanVerbHandler.java:51) at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Caused by: java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:392) at org.apache.cassandra.utils.FBUtilities.deserialize(FBUtilities.java:404) at org.apache.cassandra.db.IndexScanCommand$IndexScanCommandSerializer.deserialize(IndexScanCommand.java:102) at org.apache.cassandra.db.IndexScanCommand.read(IndexScanCommand.java:80) at org.apache.cassandra.service.IndexScanVerbHandler.doVerb(IndexScanVerbHandler.java:40) ... 4 more