[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13535699#comment-13535699 ] Michael Kjellman commented on CASSANDRA-4492: - [~carlyeks] thanks for your work on this > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Assignee: Carl Yeksigian >Priority: Minor > Fix For: 1.1.9, 1.2.0 > > Attachments: 4492.patch, 4492-patch2.patch, 4492-patch2.patch, > jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) >
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13535595#comment-13535595 ] Jonathan Ellis commented on CASSANDRA-4492: --- fixed formatting and committed > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Assignee: Carl Yeksigian >Priority: Minor > Fix For: 1.1.9, 1.2.0 > > Attachments: 4492.patch, 4492-patch2.patch, 4492-patch2.patch, > jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) > at jav
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13535169#comment-13535169 ] Carl Yeksigian commented on CASSANDRA-4492: --- Here is what I think is happening (with help from Jake): For simplicity, we are compacting two SSTables, sstable-1 and sstable-2. - Read a row from sstable-1, which is empty - We don't call close on the LazilyCompactedRow because only Write or Update calls close; this means that the NotifyingSSTableIdentityIterator never signals the condition. - Read a row from sstable-2, which is not empty - Call hasNext() in CompactionTask's runWith() on the iterator for sstable-1, which was never triggered This means that we are now deadlocked in ParallelCompactionIterable.Deserializer's as waiting for the signal and waiting for another row. We never return because we have no way of closing sstable-1's NotifyingSSTableIdentityIterator, and moving to the next row. > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIter
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13534985#comment-13534985 ] T Jake Luciani commented on CASSANDRA-4492: --- Ah, I needed to scroll down more. Well I can confirm this is sill happening in 1.2 but only for hints CF > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTa
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13534978#comment-13534978 ] Jonathan Ellis commented on CASSANDRA-4492: --- Jake: I think you're missing how markCompacting works in submitUserDefined > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.uti
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13534973#comment-13534973 ] Thomas Vachon commented on CASSANDRA-4492: -- {quote}Looking at the code it seems there are two places where HintedHandoffManager calls a user defined compact() for all sstable{quote} Well that would explain why everytime I start and I get hints, I get every sstable compacted > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compacti
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13534970#comment-13534970 ] T Jake Luciani commented on CASSANDRA-4492: --- This is still happening: Looking at the code it seems there are two places where HintedHandoffManager calls a user defined compact() for all sstables. Multithreaded compaction would allow this to race since I see no check to avoid multiple calls to user defined compaction; > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141)
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13529288#comment-13529288 ] Michael Kjellman commented on CASSANDRA-4492: - no, minimal (if any) deletes. > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.ja
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13529284#comment-13529284 ] Thomas Vachon commented on CASSANDRA-4492: -- No, update heavy though > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) >
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13529271#comment-13529271 ] Jonathan Ellis commented on CASSANDRA-4492: --- Does your workload also involve truncates [~tvachon] [~mkjellman] [~alienth]? > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13529251#comment-13529251 ] Thomas Vachon commented on CASSANDRA-4492: -- [~jbellis] no I can't. We turned off MT compaction and they have been compacted away. > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13529242#comment-13529242 ] T Jake Luciani commented on CASSANDRA-4492: --- Using 1.2 with LeveledCompaction I have not hit any deadlocks > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13529123#comment-13529123 ] Jonathan Ellis commented on CASSANDRA-4492: --- bq. If you call truncate while a compaction is currently going on it hangs both the truncate and the parallel compaction iterator. Truncate took some big changes for 1.2 (CASSANDRA-4096) so I doubt this is still the case. (If it is, I'm not sure it's related to compaction alone causing the hang.) > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13529111#comment-13529111 ] Jonathan Ellis commented on CASSANDRA-4492: --- If you can give us a set of sstables that reliably cause the hang (snapshot before compaction option should be useful here) then we can troubleshoot. Nothing is obviously wrong from just eyeballing things. > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13506806#comment-13506806 ] Thomas Vachon commented on CASSANDRA-4492: -- This actually is severe. Since they hang, it blocks all schema changes. > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.co
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13477500#comment-13477500 ] Michael Kjellman commented on CASSANDRA-4492: - hit this as well on both 1.1.5 and 1.1.6. Turned multhreaded compaction off and HintsColumnFamily finished very quickly. Nothing in the logs of interest and not reproducible. > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13477221#comment-13477221 ] T Jake Luciani commented on CASSANDRA-4492: --- I hit this recently as well. Though mine I was able to reproduce. If you call truncate while a compaction is currently going on it hangs both the truncate and the parallel compaction iterator. > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(Com
[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13428854#comment-13428854 ] Brandon Williams commented on CASSANDRA-4492: - MT compaction is unfortunately a) not highly used and b) known to be suspect to issues. The best course of action right now is to just not use it. :( > HintsColumnFamily compactions hang when using multithreaded compaction > -- > > Key: CASSANDRA-4492 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4492 > Project: Cassandra > Issue Type: Bug >Affects Versions: 1.0.11 >Reporter: Jason Harvey >Priority: Minor > Attachments: jstack.txt > > > Running into an issue on a 6 node ring running 1.0.11 where HintsColumnFamily > compactions often hang indefinitely when using multithreaded compaction. > Nothing of note in the logs. In some cases, the compaction hangs before a tmp > sstable is even created. > I've wiped out every hints sstable and restarted several times. The issue > always comes back rather quickly and predictably. The compactions sometimes > complete if the hint sstables are very small. Disabling multithreaded > compaction stops this issue from occurring. > Compactions of all other CFs seem to work just fine. > This ring was upgraded from 1.0.7. I didn't keep any hints from the upgrade. > I should note that the ring gets a huge amount of writes, and as a result the > HintedHandoff rows get be quite wide. I didn't see any large-row compaction > notices when the compaction was hanging (perhaps the bug was triggered by > incremental compaction?). After disabling multithreaded compaction, several > of the rows that were successfully compacted were over 1GB. > Here is the output I see from compactionstats where a compaction has hung. > The 'bytes compacted' column never changes. > {code} > pending tasks: 1 > compaction typekeyspace column family bytes compacted > bytes total progress >Compaction systemHintsColumnFamily 268082 >464784758 0.06% > {code} > The hung thread stack is as follows: (full jstack attached, as well) > {code} > "CompactionExecutor:37" daemon prio=10 tid=0x063df800 nid=0x49d9 > waiting on condition [0x7eb8c6ffa000] >java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00050f2e0e58> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) > at > java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:329) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Deserializer.computeNext(ParallelCompactionIterable.java:281) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > 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.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:101) > at > org.apache.cassandra.db.compaction.ParallelCompactionIterable$Unwrapper.computeNext(ParallelCompactionIterable.java:88) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > com.google.common.collect.Iterators$7.computeNext(Iterators.java:614) > 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.compaction.CompactionTask.execute(CompactionTask.java:141) > at > org.apache.cassandra.db.compaction.CompactionManager$7.call(CompactionManager.java:395) > at java.ut