You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Oleg Proudnikov <ol...@cloudorange.com> on 2012/03/27 21:57:09 UTC

Pushing through major compaction

Hello,

Could you please share you experience on pushing through a major compaction on a CF with a large number of sstables? I get an OOM even after dropping CFs that I can drop and increasing JVM heap to the limit. My caches are minimal and memtables are empty. This only happens on a single node.

Caused by: java.lang.OutOfMemoryError: Java heap space
        at org.apache.cassandra.io.util.BufferedRandomAccessFile.<init>(BufferedRandomAccessFile.java:123)
        at org.apache.cassandra.io.sstable.SSTableScanner.<init>(SSTableScanner.java:57)
        at org.apache.cassandra.io.sstable.SSTableReader.getDirectScanner(SSTableReader.java:660)
        at org.apache.cassandra.db.compaction.CompactionIterator.getCollatingIterator(CompactionIterator.java:92)
        at org.apache.cassandra.db.compaction.CompactionIterator.<init>(CompactionIterator.java:68)
        at org.apache.cassandra.db.compaction.CompactionManager.doCompactionWithoutSizeEstimation(CompactionManager.java:552)
        at org.apache.cassandra.db.compaction.CompactionManager.doCompaction(CompactionManager.java:506)
        at org.apache.cassandra.db.compaction.CompactionManager$4.call(CompactionManager.java:319)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source

What other options do I have, e.g. reloading this CF or just the segment from this node? Ideally I would like to avoid custom export/import scripting. 

Thank you very much,
Oleg


Re: Pushing through major compaction

Posted by aaron morton <aa...@thelastpickle.com>.
If you are experiencing OOM related to compaction try the following:

* if you have wide rows reduce the in_memory_compaction_limit_in_mb yaml setting. 
* uncomment  concurrent_compactors so that a single compaction run at a time

Hope that helps. 


-----------------
Aaron Morton
Freelance Developer
@aaronmorton
http://www.thelastpickle.com

On 28/03/2012, at 8:57 AM, Oleg Proudnikov wrote:

> Hello,
> 
> Could you please share you experience on pushing through a major compaction on a CF with a large number of sstables? I get an OOM even after dropping CFs that I can drop and increasing JVM heap to the limit. My caches are minimal and memtables are empty. This only happens on a single node.
> 
> Caused by: java.lang.OutOfMemoryError: Java heap space
>        at org.apache.cassandra.io.util.BufferedRandomAccessFile.<init>(BufferedRandomAccessFile.java:123)
>        at org.apache.cassandra.io.sstable.SSTableScanner.<init>(SSTableScanner.java:57)
>        at org.apache.cassandra.io.sstable.SSTableReader.getDirectScanner(SSTableReader.java:660)
>        at org.apache.cassandra.db.compaction.CompactionIterator.getCollatingIterator(CompactionIterator.java:92)
>        at org.apache.cassandra.db.compaction.CompactionIterator.<init>(CompactionIterator.java:68)
>        at org.apache.cassandra.db.compaction.CompactionManager.doCompactionWithoutSizeEstimation(CompactionManager.java:552)
>        at org.apache.cassandra.db.compaction.CompactionManager.doCompaction(CompactionManager.java:506)
>        at org.apache.cassandra.db.compaction.CompactionManager$4.call(CompactionManager.java:319)
>        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
>        at java.util.concurrent.FutureTask.run(Unknown Source
> 
> What other options do I have, e.g. reloading this CF or just the segment from this node? Ideally I would like to avoid custom export/import scripting. 
> 
> Thank you very much,
> Oleg
>