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
>
>
>

Reply via email to