Cassandra 2.06,Oracle Java 版本“1.7.0_51”,Linux Mint 16
我有一个 cassandra 键空间,其中包含大约 12 个相同的表。
如果我将 100,000 行左右的行加载到 Cassandra 中的几个表中,它就可以正常工作。
如果我加载更大的数据集,一段时间后,其中一个表将不再进行查找(并不总是同一个)。
SELECT recv_time,symbol from table6 where mid='S-AUR01-20140324A-1221';
导致“请求未在 rpc_timeout 内完成。”
其中“mid”是主键(varchar)。如果我查看日志,它有一个 EOFException ...大概是它耗尽了一些资源(它绝对不是磁盘空间不足)
错误 [ReadStage:110] 2014-04-03 12:39:47,018 CassandraDaemon.java(第 196 行)线程异常 [ReadStage:110,5,main] java.io.IOError: java.io.EOFException 在 org.apache.cassandra.db.Column$1.computeNext(Column.java:79) 在 org.apache.cassandra.db.Column$1.computeNext(Column.java:64) 在 com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) 在 com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) 在 org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:88) 在 org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:37) 在 com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) 在 com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) 在 org.apache.cassandra.db.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:82) 在 org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:157) 在 org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:140) 在 org.apache.cassandra.utils.MergeIterator$OneToOne.computeNext(MergeIterator.java:200) 在 com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) 在 com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) 在 org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:185) 在 org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) 在 org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) 在 org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:72) 在 org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:297) 在 org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:53) 在 org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1551) 在 org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1380) 在 org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:327) 在 org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:65) 在 org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1341) 在 org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1896) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 在 java.lang.Thread.run(未知来源) 引起:java.io.EOFException 在 java.io.RandomAccessFile.readFully(未知来源) 在 java.io.RandomAccessFile.readFully(未知来源) 在 org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:348) 在 org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:392) 在 org.apache.cassandra.utils.ByteBufferUtil.readWithLength(ByteBufferUtil.java:355) 在 org.apache.cassandra.db.ColumnSerializer.deserializeColumnBody(ColumnSerializer.java:110) 在 org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:85) 在 org.apache.cassandra.db.Column$1.computeNext(Column.java:75) ... 28 更多