title: Cassandra 1.2 migration : Broken pipe
body: <p>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).</p>
  
  <p>The repair failed due to the SSTable version being different, so we used <code>nodetool upgradesstables</code> and <code>nodetool scrub</code> and retried.</p>
  
  <p>But then the repair failed with this exception :</p>
  
  <pre><code>java.io.IOException: Broken pipe
      at com.google.common.base.Throwables.propagate(Throwables.java:160)
      at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:32)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
  Caused by: java.io.IOException: Broken pipe
      at sun.nio.ch.FileChannelImpl.transferTo0(Native Method)
      at sun.nio.ch.FileChannelImpl.transferToDirectly(Unknown Source)
      at sun.nio.ch.FileChannelImpl.transferTo(Unknown Source)
      at org.apache.cassandra.streaming.compress.CompressedFileStreamTask.stream(CompressedFileStreamTask.java:90)
      at org.apache.cassandra.streaming.FileStreamTask.runMayThrow(FileStreamTask.java:91)
      at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
  </code></pre>
  
  <p>We also noticed that before dying, <code>nodetool netstats</code> shows weird statistics (SSTable transfers being at 756845%...).</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>It seems to be a problem with the transfer of compressend SSTables, I will try to disable compression on this ColumnFamily and retry.</p>
  
  <p><strong>RE-EDIT</strong></p>
  
  <p>Disabling compression fixed the problem so we tried to re-enable it and got a </p>
  
  <pre><code>java.lang.RuntimeException:
    Last written key DecoratedKey(97115[...]3136) &gt;= current key DecoratedKey(8...
  </code></pre>
  
  <p>Any idea?</p>