I'm using Cassandra 1.0.3 on a 2 nodes cluster. My schema (with replication_factor=2) contains both compressed (with sstable_compression=DeflateCompressor) and uncompressed column families.
When bootstrapping a third node, the uncompressed families are created on the new node as expected, but the compressed families are not. Only the uncompressed families appear in a "show schema", and the new node data size is small, which is consistent with the big compressed data not being there. I'm seeing frequent exceptions in the log : INFO [main] 2012-01-13 14:55:00,493 StorageService.java (line 616) JOINING: sleeping 30000 ms for pending range setup ERROR [MutationStage:1] 2012-01-13 14:55:01,511 RowMutationVerbHandler.java (line 65) Error in row mutation org.apache.cassandra.db.UnserializableColumnFamilyException: Couldn't find cfId=1008 at org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:129) at org.apache.cassandra.db.RowMutation$RowMutationSerializer.deserialize(RowMutation.java:401) at org.apache.cassandra.db.RowMutation$RowMutationSerializer.deserialize(RowMutation.java:409) at org.apache.cassandra.db.RowMutation.fromBytes(RowMutation.java:357) at org.apache.cassandra.db.RowMutationVerbHandler.doVerb(RowMutationVerbHandler.java:46) 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:722) After a few minutes, The column family names are shown instead of their ids ("UrlText" is one of the compressed families) : ERROR [ReadStage:46] 2012-01-13 14:59:33,924 AbstractCassandraDaemon.java (line 133) Fatal exception in thread Thread[ReadStage:46,5,main] java.lang.IllegalArgumentException: Unknown ColumnFamily UrlText in keyspace ptprod at org.apache.cassandra.config.Schema.getComparator(Schema.java:226) at org.apache.cassandra.db.ColumnFamily.getComparatorFor(ColumnFamily.java:300) at org.apache.cassandra.db.ReadCommand.getComparator(ReadCommand.java:92) at org.apache.cassandra.db.SliceByNamesReadCommand.<init>(SliceByNamesReadCommand.java:44) at org.apache.cassandra.db.SliceByNamesReadCommandSerializer.deserialize(SliceByNamesReadCommand.java:106) at org.apache.cassandra.db.SliceByNamesReadCommandSerializer.deserialize(SliceByNamesReadCommand.java:74) at org.apache.cassandra.db.ReadCommandSerializer.deserialize(ReadCommand.java:132) at org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.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:722) How can I get the compressed families on the new node ? Thanks, Alexis Lauthier