Greetings, I am working on porting a fix for table upgrade order into V3.0 and have come across the following issue:
ERROR 10:23:31 Cannot open /home/claude/apache/cassandra/build/test/cassandra/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/me-89-big; partitioner org.apache.cassandra.dht.ByteOrderedPartitioner does not match system partitioner org.apache.cassandra.dht.Murmur3Partitioner. Note that the default partitioner starting with Cassandra 1.2 is Murmur3Partitioner, so you will need to edit that to match your old partitioner if upgrading. Now I know that this can be corrected by setting the default partitioner in the test code for later versions but in 3.0 we are simply calling the bin/sstableupgrade script. This got me wondering. 1. Should the upgrade fail if the partitioner is different? I think that the partitioner should simply upgrade the format and leave the specified partitioner as it is. If we need to change the partitioner then we need a way to do it with a command line/environment option for the sstableupgrade to function. 2. At what point did the system move from being ByteOrderd to Murmur3? Wouldn't the upgradetables script have failed at that point? 3. #2 leads me to ask, who uses the upgradetables script? Since later Cassandra versions can read earlier versions it must only be used when skipping entire versions. Discussion/solutions for these questions/problems is greatly appreciated, Claude