Try increasing column_index_size_in_kb. A slice query to get some ranges(SliceFromReadCommand) requires to read all the column indexes for the row, thus could hit OOM if you have a very wide row.
On Sun, Nov 3, 2013 at 11:54 PM, Oleg Dulin <oleg.du...@gmail.com> wrote: > Cass 1.1.11 ran out of memory on me with this exception (see below). > > My parameters are 8gig heap, new gen is 1200M. > > ERROR [ReadStage:55887] 2013-11-02 23:35:18,419 > AbstractCassandraDaemon.java (line 132) Exception in thread > Thread[ReadStage:55887,5,main] > java.lang.OutOfMemoryError: Java heap space > at > org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:323) > > at org.apache.cassandra.utils.ByteBufferUtil.read( > ByteBufferUtil.java:398) > at > org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:380) > > at > org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:88) > > at > org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:83) > > at > org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:73) > > at > org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:37) > > at org.apache.cassandra.db.columniterator.IndexedSliceReader$ > IndexedBlockFetcher.getNextBlock(IndexedSliceReader.java:179) > at org.apache.cassandra.db.columniterator.IndexedSliceReader. > computeNext(IndexedSliceReader.java:121) > at org.apache.cassandra.db.columniterator.IndexedSliceReader. > computeNext(IndexedSliceReader.java:48) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > > at org.apache.cassandra.db.columniterator. > SSTableSliceIterator.hasNext(SSTableSliceIterator.java:116) > at org.apache.cassandra.utils.MergeIterator$Candidate. > advance(MergeIterator.java:147) > at org.apache.cassandra.utils.MergeIterator$ManyToOne. > advance(MergeIterator.java:126) > at org.apache.cassandra.utils.MergeIterator$ManyToOne. > computeNext(MergeIterator.java:100) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > > at org.apache.cassandra.db.filter.SliceQueryFilter. > collectReducedColumns(SliceQueryFilter.java:117) > at org.apache.cassandra.db.filter.QueryFilter. > collateColumns(QueryFilter.java:140) > at > org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:292) > > at > org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:64) > > at > org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1362) > > at > org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1224) > > at > org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1159) > > at org.apache.cassandra.db.Table.getRow(Table.java:378) > at > org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:69) > > at org.apache.cassandra.db.ReadVerbHandler.doVerb( > ReadVerbHandler.java:51) > at > org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59) > > 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) > > > Any thoughts ? > > This is a dual data center set up, with 4 nodes in each DC and RF=2 in > each. > > > -- > Regards, > Oleg Dulin > http://www.olegdulin.com > > >