[ 
https://issues.apache.org/jira/browse/CASSANDRA-3065?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis resolved CASSANDRA-3065.
---------------------------------------

    Resolution: Cannot Reproduce
      Assignee:     (was: Sylvain Lebresne)

Unfortunately a corrupt data file doesn't help us a whole lot, especially 
without the index (which gives us redundant row size information in case the 
data file's is hosed, which this is).

I'd recommend taking regular snapshots so that if you run into more problems 
you can see if it reproduces on a relatively recent dataset.

It's also worth trying out compression in 1.0, which as part of the block 
format adds checksumming so Cassandra can easily recognize corruption at that 
level.
                
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to