[ https://issues.apache.org/jira/browse/CASSANDRA-3065?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13088118#comment-13088118 ]
Jonathan Ellis commented on CASSANDRA-3065: ------------------------------------------- What does sstable2json say? What happens if you switch from mmap i/o to buffered? What happens if you run scrub? > Major file corruption after running nodetool cleanup > ---------------------------------------------------- > > Key: CASSANDRA-3065 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3065 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 0.8.3 > Reporter: Benjamin Schrauwen > > After running nodetool cleanup on two of the nodes in my 4 node cluster, > almost all SSTables on those those machine got corrupted. I am not able to > read them anymore with sstable2json, and the cassandra daemon is repetitively > throwing: > ERROR [ReadStage:11] 2011-08-20 04:44:46,846 AbstractCassandraDaemon.java > (line 139) Fatal exception in thread Thread[ReadStage:11,5,main] > java.lang.RuntimeException: java.lang.IndexOutOfBoundsException > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:34) > 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.lang.IndexOutOfBoundsException > at java.nio.Buffer.checkIndex(Buffer.java:514) > at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:209) > at > org.apache.cassandra.io.util.MappedFileDataInput.read(MappedFileDataInput.java:104) > at java.io.InputStream.read(InputStream.java:154) > at > org.apache.cassandra.io.util.AbstractDataInput.readInt(AbstractDataInput.java:196) > at > org.apache.cassandra.io.sstable.IndexHelper.skipIndex(IndexHelper.java:61) > at > org.apache.cassandra.db.columniterator.SimpleSliceReader.<init>(SimpleSliceReader.java:58) > at > org.apache.cassandra.db.columniterator.SSTableSliceIterator.createReader(SSTableSliceIterator.java:91) > at > org.apache.cassandra.db.columniterator.SSTableSliceIterator.<init>(SSTableSliceIterator.java:67) > at > org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:66) > at > org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:80) > at > org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1314) > at > org.apache.cassandra.db.ColumnFamilyStore.cacheRow(ColumnFamilyStore.java:1181) > at > org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1221) > at > org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1168) > at org.apache.cassandra.db.Table.getRow(Table.java:385) > at > org.apache.cassandra.db.SliceByNamesReadCommand.getRow(SliceByNamesReadCommand.java:58) > at > org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:641) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira