[ https://issues.apache.org/jira/browse/CASSANDRA-5365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksey Yeschenko resolved CASSANDRA-5365. ------------------------------------------ Resolution: Not A Problem > org.apache.cassandra.io.sstable.CorruptSSTableException: java.io.EOFException > ----------------------------------------------------------------------------- > > Key: CASSANDRA-5365 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5365 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 1.2.2 > Environment: 3 node debian linux cluster > oracle jdk - java version "1.7.0_15" > hadoop 1.0.4 > 1 node running hadoop job which inserts data > Reporter: Roland von Herget > Priority: Critical > Fix For: 1.2.3 > > > create keyspace & column family via cli: > {code} > create keyspace vectorization WITH placement_strategy = 'SimpleStrategy' AND > strategy_options = {replication_factor:2}; > create column family dict WITH comparator = UTF8Type AND > key_validation_class=UTF8Type AND column_metadata = [ {column_name: id, > validation_class: LongType} {column_name: df, validation_class: LongType}]; > {code} > Now I run my hadoop job which gets data from another keyspace (same cluster) > and reduces it to dict. > Afterwards I try to get some values via cli: > {code} > [default@unknown] use vectorization; > [default@vectorization] assume dict keys as ascii; > [default@vectorization] get dict['xyz']; > => (column=df, value=329305, timestamp=1363715523545000) > => (column=id, value=8477047, timestamp=1363715523545000) > Returned 2 results. > Elapsed time: 38 msec(s). > [default@vectorization] get dict['14']; > null > TimedOutException() > at > org.apache.cassandra.thrift.Cassandra$get_slice_result.read(Cassandra.java:7874) > [...] > {code} > and on the server: > {code} > ERROR 09:42:46,834 Exception in thread Thread[ReadStage:42281,5,main] > java.lang.RuntimeException: > org.apache.cassandra.io.sstable.CorruptSSTableException: java.io.EOFException > at > org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1582) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:722) > Caused by: org.apache.cassandra.io.sstable.CorruptSSTableException: > java.io.EOFException > at > org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:106) > at > org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:38) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.db.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:90) > at > org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:171) > at > org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:154) > at > org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:143) > at > org.apache.cassandra.utils.MergeIterator$ManyToOne.<init>(MergeIterator.java:86) > at org.apache.cassandra.utils.MergeIterator.get(MergeIterator.java:45) > at > org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:134) > at > org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:84) > at > org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:294) > at > org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:65) > at > org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1363) > at > org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1220) > at > org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1132) > at org.apache.cassandra.db.Table.getRow(Table.java:355) > at > org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:70) > at > org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1052) > at > org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1578) > ... 3 more > Caused by: java.io.EOFException > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:416) > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:394) > at > org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:380) > at > org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:392) > at > org.apache.cassandra.utils.ByteBufferUtil.readWithLength(ByteBufferUtil.java:355) > at > org.apache.cassandra.db.ColumnSerializer.deserializeColumnBody(ColumnSerializer.java:108) > at > org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:92) > at > org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:73) > at > org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:102) > ... 23 more > {code} > Which keys work, and which don't seems to be completely random, and differ on > each retry (drop cf, create new cf, rerun hadoop job). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira