1.1 cannot bootstrap into 1.0.6 cluster
---------------------------------------
Key: CASSANDRA-3701
URL: https://issues.apache.org/jira/browse/CASSANDRA-3701
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 1.0.6, 1.1
Reporter: Sam Overton
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-1391 to 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
}}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira