After upgrading my cluster from 0.5.1 to the 0.6 branch (commit 1206bcf in git). I am seeing lots of IO errors in the log output.
Two questions: 1. Is this a sign that I have corrupt data? Is there some way for me to recover it or at the very least remove the bad data? 2. If this is an issue with 0.6 can I safely downgrading back to 0.5.1? There are three different error's that I am seeing. Exception 1: ERROR 00:21:23,419 Error in ThreadPoolExecutor java.lang.RuntimeException: java.io.IOException: Corrupt (negative) value length encountered at org.apache.cassandra.db.filter.SSTableSliceIterator$ColumnGroupReader.pollColumn(SSTableSliceIterator.java:159) at org.apache.cassandra.db.filter.SSTableSliceIterator.computeNext(SSTableSliceIterator.java:92) at org.apache.cassandra.db.filter.SSTableSliceIterator.computeNext(SSTableSliceIterator.java:39) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:135) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:130) at org.apache.commons.collections.iterators.CollatingIterator.anyHasNext(CollatingIterator.java:364) at org.apache.commons.collections.iterators.CollatingIterator.hasNext(CollatingIterator.java:217) at org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:55) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:135) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:130) at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:109) at org.apache.cassandra.db.filter.QueryFilter.collectCollatedColumns(QueryFilter.java:112) at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:869) at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:770) at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:739) at org.apache.cassandra.db.Table.getRow(Table.java:381) at org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:59) at org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:70) at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:40) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: java.io.IOException: Corrupt (negative) value length encountered at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:82) at org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:335) at org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:284) at org.apache.cassandra.db.filter.SSTableSliceIterator$ColumnGroupReader.getNextBlock(SSTableSliceIterator.java:194) at org.apache.cassandra.db.filter.SSTableSliceIterator$ColumnGroupReader.pollColumn(SSTableSliceIterator.java:154) ... 21 more Exception 2: ERROR 00:30:27,752 Fatal exception in thread Thread[ROW-READ-STAGE:85,5,main] java.lang.RuntimeException: java.io.IOException: Corrupt (negative) value length encountered at org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:106) at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:40) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: java.io.IOException: Corrupt (negative) value length encountered at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:82) at org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:335) at org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:284) at org.apache.cassandra.db.filter.SSTableNamesIterator.<init>(SSTableNamesIterator.java:104) at org.apache.cassandra.db.filter.NamesQueryFilter.getSSTableColumnIterator(NamesQueryFilter.java:69) at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:859) at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:770) at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:739) at org.apache.cassandra.db.Table.getRow(Table.java:381) at org.apache.cassandra.db.SliceByNamesReadCommand.getRow(SliceByNamesReadCommand.java:56) at org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:70) ... 4 more Exception 3: ERROR 00:08:27,909 Error in ThreadPoolExecutor java.lang.RuntimeException: java.io.EOFException at org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:106) at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:40) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: java.io.EOFException at org.apache.cassandra.io.util.MappedFileDataInput.readFully(MappedFileDataInput.java:261) at org.apache.cassandra.io.util.MappedFileDataInput.readFully(MappedFileDataInput.java:223) at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:87) at org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:335) at org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:284) at org.apache.cassandra.db.filter.SSTableNamesIterator.<init>(SSTableNamesIterator.java:104) at org.apache.cassandra.db.filter.NamesQueryFilter.getSSTableColumnIterator(NamesQueryFilter.java:69) at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:859) at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:770) at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:739) at org.apache.cassandra.db.Table.getRow(Table.java:381) at org.apache.cassandra.db.SliceByNamesReadCommand.getRow(SliceByNamesReadCommand.java:56) at org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:70) ... 4 more