Cassandra 1.2 migration : Broken pipe

Cassandra 1.2 migration : Broken pipe

We migrated our cluster to Cassandra 1.2 (from 1.1.7) and we tried to run a repair after the migration (we run them periodically, as recommended).
The repair failed due to the SSTable version being different, so we used nodetool upgradesstables and nodetool scrub and retried.
But then the repair failed with this exception : Broken pipe
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$ Source)
at Source)
Caused by: Broken pipe
at Method)
at Source)
at Source)
at org.apache.cassandra.streaming.FileStreamTask.runMayThrow(

We also noticed that before dying, nodetool netstats shows weird statistics (SSTable transfers being at 756845%…).
It seems to be a problem with the transfer of compressend SSTables, I will try to disable compression on this ColumnFamily and retry.
Disabling compression fixed the problem so we tried to re-enable it and got a
Last written key DecoratedKey(97115[…]3136) >= current key DecoratedKey(8…

Any idea?


Solution 1:

The issue was caused by a bug in Cassandra 1.2, affecting transfers of compressed column families between nodes. It was fixed in 1.2.2 => Jira entry for this bug.


Related:  Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: Expected 8 or 0 byte long for date (13)