[jira] [Commented] (CASSANDRA-4492) HintsColumnFamily compactions hang when using multithreaded compaction

2012-12-18 Thread Michael Kjellman (JIRA)

[ 
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

2012-12-18 Thread Jonathan Ellis (JIRA)

[ 
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

2012-12-18 Thread Carl Yeksigian (JIRA)

[ 
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

2012-12-18 Thread T Jake Luciani (JIRA)

[ 
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

2012-12-18 Thread Jonathan Ellis (JIRA)

[ 
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

2012-12-18 Thread Thomas Vachon (JIRA)

[ 
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

2012-12-18 Thread T Jake Luciani (JIRA)

[ 
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

2012-12-11 Thread Michael Kjellman (JIRA)

[ 
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

2012-12-11 Thread Thomas Vachon (JIRA)

[ 
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

2012-12-11 Thread Jonathan Ellis (JIRA)

[ 
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

2012-12-11 Thread Thomas Vachon (JIRA)

[ 
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

2012-12-11 Thread T Jake Luciani (JIRA)

[ 
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

2012-12-11 Thread Jonathan Ellis (JIRA)

[ 
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

2012-12-11 Thread Jonathan Ellis (JIRA)

[ 
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

2012-11-29 Thread Thomas Vachon (JIRA)

[ 
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

2012-10-16 Thread Michael Kjellman (JIRA)

[ 
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

2012-10-16 Thread T Jake Luciani (JIRA)

[ 
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

2012-08-05 Thread Brandon Williams (JIRA)

[ 
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