cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kuku1 (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-12477) BackgroundCompaction causes Node crash (OutOfMemoryError)
Date Mon, 12 Sep 2016 13:16:20 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-12477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15483563#comment-15483563
] 

Kuku1 edited comment on CASSANDRA-12477 at 9/12/16 1:16 PM:
------------------------------------------------------------

I tried it with 8G, 10G, 12G and 16G...
Crashing for every configuration.

I've appended a new system.log file for the 16G run. 

edit: Running with 26G worked... but is there a better fix than spending a lot of RAM? 


was (Author: kuku1):
I tried it with 8G, 10G, 12G and 16G...
Crashing for every configuration.

I've appended a new system.log file for the 16G run. 

> BackgroundCompaction causes Node crash (OutOfMemoryError)
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-12477
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12477
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Ubuntu 14.04 LTS
>            Reporter: Kuku1
>         Attachments: debug.log, system.log, system.log
>
>
> After ingesting data, certain nodes of my cluster (2 out of 5) are not able to restart
because Compaction fails with the following exception.
> I was running a write-heavy ingestion before things started to break. The data size I
was only 20GB but the ingestion speed was rather fast I guess. I ingested with the datastax
C* java driver and used writeAsync to pump my BoundStatements to the Cluster. The ingestion
client was running on a different node connected via GBit LAN. 
> The nodes were unable to restart Cassandra.
> I am using Cassandra 3.0.8. 
> I was using untouched parameters for the heap size in cassandra-env.sh. 
> After the nodes started failing to restart, I tried increasing MAX_JAVA_HEAP to 36gb
and NEW_SIZE to 12gb but the memory will completely be consumed and then the exception will
be thrown. 
> {code}
> java.lang.OutOfMemoryError: Direct buffer memory
>         at java.nio.Bits.reserveMemory(Bits.java:693) ~[na:1.8.0_91]
>         at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123) ~[na:1.8.0_91]
>         at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) ~[na:1.8.0_91]
>         at org.apache.cassandra.utils.memory.BufferPool.allocate(BufferPool.java:108)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.utils.memory.BufferPool.access$1000(BufferPool.java:45)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.utils.memory.BufferPool$LocalPool.allocate(BufferPool.java:387)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.utils.memory.BufferPool$LocalPool.access$000(BufferPool.java:314)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.utils.memory.BufferPool.takeFromPool(BufferPool.java:120)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.utils.memory.BufferPool.get(BufferPool.java:92) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.util.RandomAccessReader.allocateBuffer(RandomAccessReader.java:87)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.compress.CompressedRandomAccessReader.access$100(CompressedRandomAccessReader.java:38)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.compress.CompressedRandomAccessReader$Builder.createBuffer(CompressedRandomAccessReader.java:275)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.util.RandomAccessReader.<init>(RandomAccessReader.java:74)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.compress.CompressedRandomAccessReader.<init>(CompressedRandomAccessReader.java:59)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.compress.CompressedRandomAccessReader$Builder.build(CompressedRandomAccessReader.java:283)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.util.CompressedSegmentedFile.createReader(CompressedSegmentedFile.java:145)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.util.SegmentedFile.createReader(SegmentedFile.java:133)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.sstable.format.SSTableReader.getFileDataInput(SSTableReader.java:1711)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.columniterator.AbstractSSTableIterator.<init>(AbstractSSTableIterator.java:93)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.columniterator.SSTableIterator.<init>(SSTableIterator.java:46)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.columniterator.SSTableIterator.<init>(SSTableIterator.java:36)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.sstable.format.big.BigTableReader.iterator(BigTableReader.java:62)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.SinglePartitionReadCommand.queryMemtableAndDiskInternal(SinglePartitionReadCommand.java:580)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.SinglePartitionReadCommand.queryMemtableAndDisk(SinglePartitionReadCommand.java:492)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at com.stratio.cassandra.lucene.IndexService.read(IndexService.java:618) ~[cassandra-lucene-index-plugin-3.0.8.0.jar:na]
>         at com.stratio.cassandra.lucene.IndexWriterWide.finish(IndexWriterWide.java:89)
~[cassandra-lucene-index-plugin-3.0.8.0.jar:na]
>         at org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.commit(SecondaryIndexManager.java:958)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.compaction.CompactionIterator$1$1.onMergedRows(CompactionIterator.java:197)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.rows.UnfilteredRowIterators$UnfilteredRowMergeIterator$MergeReducer.getReduced(UnfilteredRowIterators.java:484)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.rows.UnfilteredRowIterators$UnfilteredRowMergeIterator$MergeReducer.getReduced(UnfilteredRowIterators.java:446)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:220)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:159)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.rows.UnfilteredRowIterators$UnfilteredRowMergeIterator.computeNext(UnfilteredRowIterators.java:428)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.rows.UnfilteredRowIterators$UnfilteredRowMergeIterator.computeNext(UnfilteredRowIterators.java:288)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:128) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.ColumnIndex$Builder.build(ColumnIndex.java:111) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:52)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:125)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.compaction.writers.DefaultCompactionWriter.realAppend(DefaultCompactionWriter.java:57)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.append(CompactionAwareWriter.java:109)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:182)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:78)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:60)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate.run(CompactionManager.java:263)
~[apache-cassandra-3.0.8.jar:3.0.8]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_91]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_91]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
~[na:1.8.0_91]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_91]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
> {code}
> I attached both debug.log and system.log to this issue. Both logs were created while
heap parameters in cassandra-env.sh were unchanged. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message