[jira] [Commented] (CASSANDRA-8269) Large number of system hints other CF's cause heap to fill and run OOM

2014-11-06 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14200315#comment-14200315
 ] 

Aleksey Yeschenko commented on CASSANDRA-8269:
--

I think CASSANDRA-6988 (since 2.0.11) would make this a non-issue.

 Large number of system hints  other CF's cause heap to fill and run OOM
 

 Key: CASSANDRA-8269
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8269
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: DSE 4.5.0 with Apache Cassandra 2.0.5
Reporter: Jose Martinez Poblete
 Attachments: alln01-ats-cas2-java_1414110068_Leak_Suspects.zip, 
 system.log


 A 3 node cluster with large amount of sstables for system.hints and other 3 
 user tables was coming down regularly with OOM on system log showing up the 
 following:
 {noformat}
 ERROR [OptionalTasks:1] 2014-10-23 18:51:29,052 CassandraDaemon.java (line 
 199) Exception in thread Thread[OptionalTasks:1,5,main]
 java.lang.OutOfMemoryError: Java heap space
 at 
 org.apache.cassandra.io.sstable.IndexHelper$IndexInfo.deserialize(IndexHelper.java:187)
 at 
 org.apache.cassandra.db.RowIndexEntry$Serializer.deserialize(RowIndexEntry.java:122)
 at 
 org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:229)
 at 
 org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:203)
 at 
 com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
 at 
 com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
 at 
 org.apache.cassandra.io.sstable.SSTableScanner.hasNext(SSTableScanner.java:183)
 at 
 org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:144)
 at 
 org.apache.cassandra.utils.MergeIterator$ManyToOne.init(MergeIterator.java:87)
 at org.apache.cassandra.utils.MergeIterator.get(MergeIterator.java:46)
 at 
 org.apache.cassandra.db.RowIteratorFactory.getIterator(RowIteratorFactory.java:74)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getSequentialIterator(ColumnFamilyStore.java:1586)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1709)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1643)
 at 
 org.apache.cassandra.db.HintedHandOffManager.scheduleAllDeliveries(HintedHandOffManager.java:513)
 at 
 org.apache.cassandra.db.HintedHandOffManager.access$000(HintedHandOffManager.java:91)
 at 
 org.apache.cassandra.db.HintedHandOffManager$1.run(HintedHandOffManager.java:173)
 at 
 org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:75)
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
 at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 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:744)
 {noformat}
 A heapdump would show the following:
 {noformat}
 Class Name
 | Shallow Heap | Retained Heap | Percentage
 --
 java.lang.Thread @ 0x67b292138  OptionalTasks:1 Thread
 |  104 | 4,901,485,768 | 58.60%
 |- org.apache.cassandra.utils.MergeIterator$ManyToOne @ 0x7b9dc4ad8   
 |   40 | 4,900,817,312 | 58.59%
 |  |- java.util.ArrayList @ 0x6f05f15f0   
 |   24 |   403,635,848 |  4.83%
 |  |- org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator @ 
 0x7b5fe7078|   40 |29,669,312 |  0.35%
 |  |  |- org.apache.cassandra.db.RowIndexEntry$IndexedEntry @ 0x7b7caaa28 
 |   32 |26,770,264 |  0.32%
 |  |  |- org.apache.cassandra.db.RowIndexEntry$IndexedEntry @ 0x7b7f6e670 
 |   32 | 2,898,864 |  0.03%
 |  |  |  '- java.util.ArrayList @ 0x7b7caaae0 
 |   24 | 

[jira] [Commented] (CASSANDRA-8269) Large number of system hints other CF's cause heap to fill and run OOM

2014-11-06 Thread Michael Shuler (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14200323#comment-14200323
 ] 

Michael Shuler commented on CASSANDRA-8269:
---

I believe CASSANDRA-6998 is the correct ticket number from the first comment.

 Large number of system hints  other CF's cause heap to fill and run OOM
 

 Key: CASSANDRA-8269
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8269
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: DSE 4.5.0 with Apache Cassandra 2.0.5
Reporter: Jose Martinez Poblete
 Attachments: alln01-ats-cas2-java_1414110068_Leak_Suspects.zip, 
 system.log


 A 3 node cluster with large amount of sstables for system.hints and other 3 
 user tables was coming down regularly with OOM on system log showing up the 
 following:
 {noformat}
 ERROR [OptionalTasks:1] 2014-10-23 18:51:29,052 CassandraDaemon.java (line 
 199) Exception in thread Thread[OptionalTasks:1,5,main]
 java.lang.OutOfMemoryError: Java heap space
 at 
 org.apache.cassandra.io.sstable.IndexHelper$IndexInfo.deserialize(IndexHelper.java:187)
 at 
 org.apache.cassandra.db.RowIndexEntry$Serializer.deserialize(RowIndexEntry.java:122)
 at 
 org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:229)
 at 
 org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:203)
 at 
 com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
 at 
 com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
 at 
 org.apache.cassandra.io.sstable.SSTableScanner.hasNext(SSTableScanner.java:183)
 at 
 org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:144)
 at 
 org.apache.cassandra.utils.MergeIterator$ManyToOne.init(MergeIterator.java:87)
 at org.apache.cassandra.utils.MergeIterator.get(MergeIterator.java:46)
 at 
 org.apache.cassandra.db.RowIteratorFactory.getIterator(RowIteratorFactory.java:74)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getSequentialIterator(ColumnFamilyStore.java:1586)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1709)
 at 
 org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1643)
 at 
 org.apache.cassandra.db.HintedHandOffManager.scheduleAllDeliveries(HintedHandOffManager.java:513)
 at 
 org.apache.cassandra.db.HintedHandOffManager.access$000(HintedHandOffManager.java:91)
 at 
 org.apache.cassandra.db.HintedHandOffManager$1.run(HintedHandOffManager.java:173)
 at 
 org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:75)
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
 at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 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:744)
 {noformat}
 A heapdump would show the following:
 {noformat}
 Class Name
 | Shallow Heap | Retained Heap | Percentage
 --
 java.lang.Thread @ 0x67b292138  OptionalTasks:1 Thread
 |  104 | 4,901,485,768 | 58.60%
 |- org.apache.cassandra.utils.MergeIterator$ManyToOne @ 0x7b9dc4ad8   
 |   40 | 4,900,817,312 | 58.59%
 |  |- java.util.ArrayList @ 0x6f05f15f0   
 |   24 |   403,635,848 |  4.83%
 |  |- org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator @ 
 0x7b5fe7078|   40 |29,669,312 |  0.35%
 |  |  |- org.apache.cassandra.db.RowIndexEntry$IndexedEntry @ 0x7b7caaa28 
 |   32 |26,770,264 |  0.32%
 |  |  |- org.apache.cassandra.db.RowIndexEntry$IndexedEntry @ 0x7b7f6e670 
 |   32 | 2,898,864 |  0.03%
 |  |  |  '- java.util.ArrayList @ 0x7b7caaae0 
 |   24 |