Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-2652

Hinted handoff needs to adjust page size for lage columns to avoid OOM

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 0.7.7
    • None
    • None
    • Low

    Description

      Example OOM:

      java.lang.OutOfMemoryError: Java heap space
      	at org.apache.cassandra.io.util.BufferedRandomAccessFile.readBytes(BufferedRandomAccessFile.java:269)
      	at org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:356)
      	at org.apache.cassandra.utils.ByteBufferUtil.readWithLength(ByteBufferUtil.java:318)
      	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:99)
      	at org.apache.cassandra.io.util.ColumnIterator.deserializeNext(ColumnSortedMap.java:248)
      	at org.apache.cassandra.io.util.ColumnIterator.next(ColumnSortedMap.java:268)
      	at org.apache.cassandra.io.util.ColumnIterator.next(ColumnSortedMap.java:227)
      	at java.util.concurrent.ConcurrentSkipListMap.buildFromSorted(ConcurrentSkipListMap.java:1493)
      	at java.util.concurrent.ConcurrentSkipListMap.<init>(ConcurrentSkipListMap.java:1443)
      	at org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:379)
      	at org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:362)
      	at org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:322)
      	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:49)
      	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
      	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
      	at org.apache.cassandra.db.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:108)
      	at org.apache.commons.collections.iterators.CollatingIterator.set(CollatingIterator.java:283)
      	at org.apache.commons.collections.iterators.CollatingIterator.least(CollatingIterator.java:326)
      	at org.apache.commons.collections.iterators.CollatingIterator.next(CollatingIterator.java:230)
      	at org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:69)
      	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
      	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
      	at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:116)
      	at org.apache.cassandra.db.filter.QueryFilter.collectCollatedColumns(QueryFilter.java:130)
      	at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1390)
      	at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1267)
      	at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1195)
      	at org.apache.cassandra.db.HintedHandOffManager.sendMessage(HintedHandOffManager.java:138)
      	at org.apache.cassandra.db.HintedHandOffManager.deliverHintsToEndpoint(HintedHandOffManager.java:331)
      	at org.apache.cassandra.db.HintedHandOffManager.access$100(HintedHandOffManager.java:88)
      

      Attachments

        1. 2652.txt
          2 kB
          Jonathan Ellis

        Activity

          People

            jbellis Jonathan Ellis
            jbellis Jonathan Ellis
            Jonathan Ellis
            Brandon Williams
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: