[Cassandra Wiki] Update of "FAQ" by SergeRider

2012-12-18 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for 
change notification.

The "FAQ" page has been changed by SergeRider:
http://wiki.apache.org/cassandra/FAQ?action=diff&rev1=158&rev2=159

   * [[http://code.google.com/p/cassandra-gui|cassandra-gui]], a Swing data 
browser.
   * [[https://github.com/sebgiroux/Cassandra-Cluster-Admin|Cassandra Cluster 
Admin]], a PHP-based web UI.
   * [[http://toadforcloud.com | Toad for Cloud Databases]], a desktop 
application and Eclipse plugin which support Cassandra.
+  * [[http://dbeaver.jkiss.org | DBeaver]], a desktop application, support 
Cassandra using JDBC driver.
  
  <>
  


[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-5053) not possible to change crc_check_chance

2012-12-18 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-5053:
--

LGTM and works.

Attaching v2 with minor tweaks:
- renamed CFS#crcCheckChance() to CFS#setCrcCheckChance()
- renamed CompressionParameters.globalOptions to 
CompressionParameters.GLOBAL_OPTIONS and made it an ImmutableSet instead of a 
HashSet
- CompressionParameters#parseCrcCheckChance() throws CE now - just logging the 
error and returning default is not enough (Cassandra will save invalid 
crc_check_chance and you'll get that NumberFormatException every time you start 
Cassandra)
- added crc_check_chance range validation to parseCrcCheckChance, otherwise we 
get the same issue as above with valid doubles, but out of range values
- very minor formatting tweaks for consistency

Will commit tomorrow.

> not possible to change crc_check_chance
> ---
>
> Key: CASSANDRA-5053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5053
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.1.1
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Minor
> Fix For: 1.1.9
>
> Attachments: 
> 0001-CASSANDRA-5053-make-it-possible-to-change-crc_check_.patch, 
> 0001-fix-CASSANDRA-5053-not-possible-to-change-crc_check_.patch, 5053-v2.txt
>
>
> It is not possible to change crc_check_chance using a schema modification 
> after CASSANDRA-4266
> This patch fixes that and moves the setting out into a configuration 
> parameter instead, you dont want to upgrade/scrub/.. all your sstables to 
> change the crc_check_chance.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5053) not possible to change crc_check_chance

2012-12-18 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-5053:
-

Attachment: 5053-v2.txt

> not possible to change crc_check_chance
> ---
>
> Key: CASSANDRA-5053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5053
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.1.1
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Minor
> Fix For: 1.1.9
>
> Attachments: 
> 0001-CASSANDRA-5053-make-it-possible-to-change-crc_check_.patch, 
> 0001-fix-CASSANDRA-5053-not-possible-to-change-crc_check_.patch, 5053-v2.txt
>
>
> It is not possible to change crc_check_chance using a schema modification 
> after CASSANDRA-4266
> This patch fixes that and moves the setting out into a configuration 
> parameter instead, you dont want to upgrade/scrub/.. all your sstables to 
> change the crc_check_chance.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[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

[6/13] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2.0

2012-12-18 Thread jbellis
Merge branch 'cassandra-1.1' into cassandra-1.2.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/08cc800b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/08cc800b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/08cc800b

Branch: refs/heads/cassandra-1.2
Commit: 08cc800ba41005c74401f2744bc7c89e80fc2cd1
Parents: 2f1ffcc e792187
Author: Jonathan Ellis 
Authored: Tue Dec 18 20:47:49 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 20:47:49 2012 -0600

--
 .../db/compaction/ParallelCompactionIterable.java  |8 
 1 files changed, 8 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/08cc800b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
--



[9/13] git commit: add one more compactedRow.close on empty (#4492)

2012-12-18 Thread jbellis
add one more compactedRow.close on empty (#4492)


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e792187b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e792187b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e792187b

Branch: refs/heads/trunk
Commit: e792187bce376756284f784ef6c66e8d4331cef1
Parents: 82db566
Author: Jonathan Ellis 
Authored: Tue Dec 18 20:47:36 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 20:47:36 2012 -0600

--
 .../db/compaction/ParallelCompactionIterable.java  |8 
 1 files changed, 8 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e792187b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java 
b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
index fc52393..933b44c 100644
--- 
a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
+++ 
b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
@@ -115,6 +115,14 @@ public class ParallelCompactionIterable extends 
AbstractCompactionIterable
 if (compactedRow.isEmpty())
 {
 controller.invalidateCachedRow(compactedRow.key);
+try
+{
+compactedRow.close();
+}
+catch (IOException e)
+{
+throw new RuntimeException(e);
+}
 return null;
 }
 else



[10/13] git commit: add one more compactedRow.close on empty (#4492)

2012-12-18 Thread jbellis
add one more compactedRow.close on empty (#4492)


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e792187b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e792187b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e792187b

Branch: refs/heads/cassandra-1.2.0
Commit: e792187bce376756284f784ef6c66e8d4331cef1
Parents: 82db566
Author: Jonathan Ellis 
Authored: Tue Dec 18 20:47:36 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 20:47:36 2012 -0600

--
 .../db/compaction/ParallelCompactionIterable.java  |8 
 1 files changed, 8 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e792187b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java 
b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
index fc52393..933b44c 100644
--- 
a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
+++ 
b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
@@ -115,6 +115,14 @@ public class ParallelCompactionIterable extends 
AbstractCompactionIterable
 if (compactedRow.isEmpty())
 {
 controller.invalidateCachedRow(compactedRow.key);
+try
+{
+compactedRow.close();
+}
+catch (IOException e)
+{
+throw new RuntimeException(e);
+}
 return null;
 }
 else



[3/13] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-18 Thread jbellis
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/800b4f1f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/800b4f1f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/800b4f1f

Branch: refs/heads/trunk
Commit: 800b4f1f6d9df0b3c21a8bcca7cc53e21629d159
Parents: 892d72a 08cc800
Author: Jonathan Ellis 
Authored: Tue Dec 18 20:47:54 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 20:47:54 2012 -0600

--
 .../db/compaction/ParallelCompactionIterable.java  |8 
 1 files changed, 8 insertions(+), 0 deletions(-)
--




[11/13] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-18 Thread jbellis
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/892d72a8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/892d72a8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/892d72a8

Branch: refs/heads/trunk
Commit: 892d72a86e30c9354c88e59e863e1707e5e5c374
Parents: 9fdccd7 2f1ffcc
Author: Jonathan Ellis 
Authored: Tue Dec 18 15:09:08 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 15:09:08 2012 -0600

--

--




[1/13] git commit: Merge branch 'cassandra-1.2' into trunk

2012-12-18 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.1 82db56699 -> e792187bc
  refs/heads/cassandra-1.2 892d72a86 -> 800b4f1f6
  refs/heads/cassandra-1.2.0 2f1ffcc9c -> 08cc800ba
  refs/heads/trunk 0febf44d5 -> 4a3794b7b


Merge branch 'cassandra-1.2' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4a3794b7
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4a3794b7
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4a3794b7

Branch: refs/heads/trunk
Commit: 4a3794b7b829980ac64f07b43e691fca187378ca
Parents: 0febf44 800b4f1
Author: Jonathan Ellis 
Authored: Tue Dec 18 20:48:00 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 20:48:00 2012 -0600

--
 .../db/compaction/ParallelCompactionIterable.java  |8 
 1 files changed, 8 insertions(+), 0 deletions(-)
--




[4/13] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2.0

2012-12-18 Thread jbellis
Merge branch 'cassandra-1.1' into cassandra-1.2.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/08cc800b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/08cc800b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/08cc800b

Branch: refs/heads/trunk
Commit: 08cc800ba41005c74401f2744bc7c89e80fc2cd1
Parents: 2f1ffcc e792187
Author: Jonathan Ellis 
Authored: Tue Dec 18 20:47:49 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 20:47:49 2012 -0600

--
 .../db/compaction/ParallelCompactionIterable.java  |8 
 1 files changed, 8 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/08cc800b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
--



[2/13] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-18 Thread jbellis
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/800b4f1f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/800b4f1f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/800b4f1f

Branch: refs/heads/cassandra-1.2
Commit: 800b4f1f6d9df0b3c21a8bcca7cc53e21629d159
Parents: 892d72a 08cc800
Author: Jonathan Ellis 
Authored: Tue Dec 18 20:47:54 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 20:47:54 2012 -0600

--
 .../db/compaction/ParallelCompactionIterable.java  |8 
 1 files changed, 8 insertions(+), 0 deletions(-)
--




[7/13] git commit: add one more compactedRow.close on empty (#4492)

2012-12-18 Thread jbellis
add one more compactedRow.close on empty (#4492)


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e792187b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e792187b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e792187b

Branch: refs/heads/cassandra-1.2
Commit: e792187bce376756284f784ef6c66e8d4331cef1
Parents: 82db566
Author: Jonathan Ellis 
Authored: Tue Dec 18 20:47:36 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 20:47:36 2012 -0600

--
 .../db/compaction/ParallelCompactionIterable.java  |8 
 1 files changed, 8 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e792187b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java 
b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
index fc52393..933b44c 100644
--- 
a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
+++ 
b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
@@ -115,6 +115,14 @@ public class ParallelCompactionIterable extends 
AbstractCompactionIterable
 if (compactedRow.isEmpty())
 {
 controller.invalidateCachedRow(compactedRow.key);
+try
+{
+compactedRow.close();
+}
+catch (IOException e)
+{
+throw new RuntimeException(e);
+}
 return null;
 }
 else



[8/13] git commit: add one more compactedRow.close on empty (#4492)

2012-12-18 Thread jbellis
add one more compactedRow.close on empty (#4492)


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e792187b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e792187b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e792187b

Branch: refs/heads/cassandra-1.1
Commit: e792187bce376756284f784ef6c66e8d4331cef1
Parents: 82db566
Author: Jonathan Ellis 
Authored: Tue Dec 18 20:47:36 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 20:47:36 2012 -0600

--
 .../db/compaction/ParallelCompactionIterable.java  |8 
 1 files changed, 8 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e792187b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java 
b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
index fc52393..933b44c 100644
--- 
a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
+++ 
b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
@@ -115,6 +115,14 @@ public class ParallelCompactionIterable extends 
AbstractCompactionIterable
 if (compactedRow.isEmpty())
 {
 controller.invalidateCachedRow(compactedRow.key);
+try
+{
+compactedRow.close();
+}
+catch (IOException e)
+{
+throw new RuntimeException(e);
+}
 return null;
 }
 else



[13/13] git commit: add close method to EchoedRow

2012-12-18 Thread jbellis
add close method to EchoedRow


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/82db5669
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/82db5669
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/82db5669

Branch: refs/heads/trunk
Commit: 82db56699c63ed95a5c07fda59409aabcb82addf
Parents: 134e8c7
Author: Jonathan Ellis 
Authored: Tue Dec 18 15:08:33 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 15:08:33 2012 -0600

--
 src/java/org/apache/cassandra/db/EchoedRow.java |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/82db5669/src/java/org/apache/cassandra/db/EchoedRow.java
--
diff --git a/src/java/org/apache/cassandra/db/EchoedRow.java 
b/src/java/org/apache/cassandra/db/EchoedRow.java
index bae8047..1beb9cd 100644
--- a/src/java/org/apache/cassandra/db/EchoedRow.java
+++ b/src/java/org/apache/cassandra/db/EchoedRow.java
@@ -73,4 +73,6 @@ public class EchoedRow extends AbstractCompactedRow
 {
 return Long.MIN_VALUE;
 }
+
+public void close() { }
 }



[5/13] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2.0

2012-12-18 Thread jbellis
Merge branch 'cassandra-1.1' into cassandra-1.2.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/08cc800b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/08cc800b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/08cc800b

Branch: refs/heads/cassandra-1.2.0
Commit: 08cc800ba41005c74401f2744bc7c89e80fc2cd1
Parents: 2f1ffcc e792187
Author: Jonathan Ellis 
Authored: Tue Dec 18 20:47:49 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 20:47:49 2012 -0600

--
 .../db/compaction/ParallelCompactionIterable.java  |8 
 1 files changed, 8 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/08cc800b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
--



[jira] [Updated] (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:all-tabpanel
 ]

Carl Yeksigian updated CASSANDRA-4492:
--

Attachment: 4492-patch2.patch

> 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 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 

[jira] [Updated] (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:all-tabpanel
 ]

Carl Yeksigian updated CASSANDRA-4492:
--

Attachment: 4492-patch2.patch

One more place that wasn't handling the close on empty - was hitting this case 
as well.

I've only included the additional patch.

> 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, 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.CompactionMan

[jira] [Updated] (CASSANDRA-4570) Minor logging additions

2012-12-18 Thread Joaquin Casares (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-4570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joaquin Casares updated CASSANDRA-4570:
---

Attachment: info_paths_v2.txt
mt_compaction_v2.txt
jvm_warnings_v2.txt

jvm_warnings_v2:

Now only checks the 1.6.0 releases. Updated the minor revision numbers to be in 
line with what we're currently seeing.

mt_compaction_v2:

Moved this to DatabaseDescriptor where it should be.

info_paths_v2:

Now displaying this shortly after the yaml path is printed.

check_tables (original):

Nope, this only logs once. The issue before was that it was always logging 
"Found table data in data directories. Consider using the CQL shell to define 
your schema."

With the patch: http://aep.appspot.com/display/xITUgvlTOPjfmCnL_ns6tkXhZ1s/
Without: http://aep.appspot.com/display/6ffn0ucc0pCEHS53p6nX9J0sgnM/

Probably due to: Schema.instance.addSystemTable(systemMeta);
being run before loadSchemas().

> Minor logging additions
> ---
>
> Key: CASSANDRA-4570
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4570
> Project: Cassandra
>  Issue Type: Improvement
>Affects Versions: 1.1.4
>Reporter: Joaquin Casares
>Assignee: Joaquin Casares
>Priority: Trivial
> Attachments: check_tables.txt, info_paths.txt, info_paths_v2.txt, 
> jvm_warnings.txt, jvm_warnings_v2.txt, mt_compaction.txt, mt_compaction_v2.txt
>
>
> Four patches to clear up/add information to logging.
> 1. check_tables
> Moves a portion of the code that checks for data files to right before the 
> system tables are created.
> 2. info_paths
> Adds path printing statements for the cassandra.yaml, data_dir, and 
> commit_log locations.
> 3. jvm_warnings
> Warn the user if they are on OpenJDK.
> Warn the user if they are using a minor version < 29.
> Error if they are using a minor version < 25.
> 4. mt_compaction
> Log that the user is performing compactions with multi-threaded compactions 
> enabled.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5075) CQL Add support for AS keyword in select

2012-12-18 Thread Alexandr Kulik (JIRA)

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

Alexandr Kulik commented on CASSANDRA-5075:
---

Hibernate by default use column alias in select statements. For example this is 
hibernate debug log statement:
18.12.2012 23:58:39 *DEBUG* AbstractEntityPersister:  Snapshot select: /* get 
current state com.bipper.bsafe.model.safetymode.UserSafetyModeSession */ select 
usersafety_.id, usersafety_.active as active22_, usersafety_.endDate as 
endDate22_, usersafety_.startDate as startDate22_, usersafety_.user_id as 
user9_22_, usersafety_.userTriggeredTimestamp as userTrig6_22_ from 
user_safety_mode_session usersafety_ where usersafety_.id=? 
(AbstractEntityPersister.java, line 2960)

Even if i don't use joins hibernate still will use column and table alias.

> CQL Add support for AS keyword in select
> 
>
> Key: CASSANDRA-5075
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5075
> Project: Cassandra
>  Issue Type: Improvement
>  Components: API
>Reporter: Alexandr Kulik
>Priority: Minor
>
> It would be nice to have support of AS keyword in select statement. It would 
> allow to use jpa frameworks without writing custom sql/cql's. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


buildbot success in ASF Buildbot on cassandra-1.1

2012-12-18 Thread buildbot
The Buildbot has detected a restored build on builder cassandra-1.1 while 
building cassandra.
Full details are available at:
 http://ci.apache.org/builders/cassandra-1.1/builds/89

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: portunus_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch cassandra-1.1] 
82db56699c63ed95a5c07fda59409aabcb82addf
Blamelist: Jonathan Ellis 

Build succeeded!

sincerely,
 -The Buildbot





[jira] [Updated] (CASSANDRA-5077) Simplify CompactionIterable.getReduced

2012-12-18 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-5077:
--

Attachment: 5077.txt

> Simplify CompactionIterable.getReduced
> --
>
> Key: CASSANDRA-5077
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5077
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: Jonathan Ellis
> Fix For: 1.2.1
>
> Attachments: 5077.txt
>
>
> CompactionIterable turns empty rows into null, and 
> purge-compacted-rows-from-cache logic is duplicated (and different!) across 
> implementations.  Let's simplify to just return empty rows as-is and let 
> CompactionTask handle the purge logic.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5077) Simplify CompactionIterable.getReduced

2012-12-18 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5077:
---

attached.

> Simplify CompactionIterable.getReduced
> --
>
> Key: CASSANDRA-5077
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5077
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: Jonathan Ellis
> Fix For: 1.2.1
>
>
> CompactionIterable turns empty rows into null, and 
> purge-compacted-rows-from-cache logic is duplicated (and different!) across 
> implementations.  Let's simplify to just return empty rows as-is and let 
> CompactionTask handle the purge logic.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5077) Simplify CompactionIterable.getReduced

2012-12-18 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-5077:
-

 Summary: Simplify CompactionIterable.getReduced
 Key: CASSANDRA-5077
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5077
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 1.2.1


CompactionIterable turns empty rows into null, and 
purge-compacted-rows-from-cache logic is duplicated (and different!) across 
implementations.  Let's simplify to just return empty rows as-is and let 
CompactionTask handle the purge logic.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[1/6] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-18 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.1 134e8c78d -> 82db56699
  refs/heads/cassandra-1.2 9fdccd768 -> 892d72a86
  refs/heads/cassandra-1.2.0 fb9ad748d -> 2f1ffcc9c


Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/892d72a8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/892d72a8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/892d72a8

Branch: refs/heads/cassandra-1.2
Commit: 892d72a86e30c9354c88e59e863e1707e5e5c374
Parents: 9fdccd7 2f1ffcc
Author: Jonathan Ellis 
Authored: Tue Dec 18 15:09:08 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 15:09:08 2012 -0600

--

--




[5/6] git commit: add close method to EchoedRow

2012-12-18 Thread jbellis
add close method to EchoedRow


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/82db5669
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/82db5669
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/82db5669

Branch: refs/heads/cassandra-1.2.0
Commit: 82db56699c63ed95a5c07fda59409aabcb82addf
Parents: 134e8c7
Author: Jonathan Ellis 
Authored: Tue Dec 18 15:08:33 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 15:08:33 2012 -0600

--
 src/java/org/apache/cassandra/db/EchoedRow.java |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/82db5669/src/java/org/apache/cassandra/db/EchoedRow.java
--
diff --git a/src/java/org/apache/cassandra/db/EchoedRow.java 
b/src/java/org/apache/cassandra/db/EchoedRow.java
index bae8047..1beb9cd 100644
--- a/src/java/org/apache/cassandra/db/EchoedRow.java
+++ b/src/java/org/apache/cassandra/db/EchoedRow.java
@@ -73,4 +73,6 @@ public class EchoedRow extends AbstractCompactedRow
 {
 return Long.MIN_VALUE;
 }
+
+public void close() { }
 }



[4/6] git commit: add close method to EchoedRow

2012-12-18 Thread jbellis
add close method to EchoedRow


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/82db5669
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/82db5669
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/82db5669

Branch: refs/heads/cassandra-1.2
Commit: 82db56699c63ed95a5c07fda59409aabcb82addf
Parents: 134e8c7
Author: Jonathan Ellis 
Authored: Tue Dec 18 15:08:33 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 15:08:33 2012 -0600

--
 src/java/org/apache/cassandra/db/EchoedRow.java |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/82db5669/src/java/org/apache/cassandra/db/EchoedRow.java
--
diff --git a/src/java/org/apache/cassandra/db/EchoedRow.java 
b/src/java/org/apache/cassandra/db/EchoedRow.java
index bae8047..1beb9cd 100644
--- a/src/java/org/apache/cassandra/db/EchoedRow.java
+++ b/src/java/org/apache/cassandra/db/EchoedRow.java
@@ -73,4 +73,6 @@ public class EchoedRow extends AbstractCompactedRow
 {
 return Long.MIN_VALUE;
 }
+
+public void close() { }
 }



[6/6] git commit: add close method to EchoedRow

2012-12-18 Thread jbellis
add close method to EchoedRow


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/82db5669
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/82db5669
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/82db5669

Branch: refs/heads/cassandra-1.1
Commit: 82db56699c63ed95a5c07fda59409aabcb82addf
Parents: 134e8c7
Author: Jonathan Ellis 
Authored: Tue Dec 18 15:08:33 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 15:08:33 2012 -0600

--
 src/java/org/apache/cassandra/db/EchoedRow.java |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/82db5669/src/java/org/apache/cassandra/db/EchoedRow.java
--
diff --git a/src/java/org/apache/cassandra/db/EchoedRow.java 
b/src/java/org/apache/cassandra/db/EchoedRow.java
index bae8047..1beb9cd 100644
--- a/src/java/org/apache/cassandra/db/EchoedRow.java
+++ b/src/java/org/apache/cassandra/db/EchoedRow.java
@@ -73,4 +73,6 @@ public class EchoedRow extends AbstractCompactedRow
 {
 return Long.MIN_VALUE;
 }
+
+public void close() { }
 }



buildbot failure in ASF Buildbot on cassandra-1.1

2012-12-18 Thread buildbot
The Buildbot has detected a new failure on builder cassandra-1.1 while building 
cassandra.
Full details are available at:
 http://ci.apache.org/builders/cassandra-1.1/builds/88

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: portunus_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch cassandra-1.1] 
134e8c78d2acff21d960b8d78c7efd6bff5c6b29
Blamelist: Jonathan Ellis 

BUILD FAILED: failed compile

sincerely,
 -The Buildbot





[1/10] git commit: Merge branch 'cassandra-1.2' into trunk

2012-12-18 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.1 4885bfccf -> 134e8c78d
  refs/heads/cassandra-1.2 a6d4f7a4e -> 9fdccd768
  refs/heads/cassandra-1.2.0 d67816bee -> fb9ad748d
  refs/heads/trunk 77fb2080f -> 0febf44d5


Merge branch 'cassandra-1.2' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0febf44d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0febf44d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0febf44d

Branch: refs/heads/trunk
Commit: 0febf44d5246fd7dce6ac9e47193dd4a4bd18ad8
Parents: 77fb208 9fdccd7
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:54:28 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:54:28 2012 -0600

--
 CHANGES.txt|1 +
 conf/cassandra.yaml|   15 ++-
 .../db/compaction/AbstractCompactedRow.java|3 ++-
 .../cassandra/db/compaction/CompactionTask.java|3 +++
 .../db/compaction/LazilyCompactedRow.java  |2 +-
 .../cassandra/db/compaction/PrecompactedRow.java   |2 ++
 6 files changed, 15 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0febf44d/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0febf44d/conf/cassandra.yaml
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0febf44d/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
--



[3/10] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-18 Thread jbellis
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9fdccd76
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9fdccd76
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9fdccd76

Branch: refs/heads/trunk
Commit: 9fdccd7683c7c950ff6dd48bad8739af6a4f2468
Parents: a6d4f7a fb9ad74
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:54:18 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:54:18 2012 -0600

--
 CHANGES.txt|1 +
 conf/cassandra.yaml|   15 ++-
 .../db/compaction/AbstractCompactedRow.java|3 ++-
 .../cassandra/db/compaction/CompactionTask.java|3 +++
 .../db/compaction/LazilyCompactedRow.java  |2 +-
 .../cassandra/db/compaction/PrecompactedRow.java   |2 ++
 6 files changed, 15 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fdccd76/CHANGES.txt
--



[4/10] git commit: merge from 1.1

2012-12-18 Thread jbellis
merge from 1.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fb9ad748
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fb9ad748
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fb9ad748

Branch: refs/heads/trunk
Commit: fb9ad748d58bddc5e1be1ca84eec503d8a35c695
Parents: d67816b 134e8c7
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:51:41 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:53:29 2012 -0600

--
 CHANGES.txt|1 +
 conf/cassandra.yaml|   15 ++-
 .../db/compaction/AbstractCompactedRow.java|3 ++-
 .../cassandra/db/compaction/CompactionTask.java|3 +++
 .../db/compaction/LazilyCompactedRow.java  |2 +-
 .../cassandra/db/compaction/PrecompactedRow.java   |2 ++
 6 files changed, 15 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb9ad748/CHANGES.txt
--
diff --cc CHANGES.txt
index 2e789fa,cc75791..7a17236
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,141 -1,28 +1,142 @@@
 -1.1.9
 +1.2.0-rc2
 + * fix nodetool ownership display with vnodes (CASSANDRA-5065)
 + * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
 + * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
 + * Fix SimpleAuthorizer example (CASSANDRA-5072)
 + * cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
 + * Includes cassandra-shuffle in the debian package (CASSANDRA-5058)
 +Merged from 1.1:
+  * fix multithreaded compaction deadlock (CASSANDRA-4492)
 -
 -
 -1.1.8
 - * reset getRangeSlice filter after finishing a row for get_paged_slice
 -   (CASSANDRA-4919)
   * fix temporarily missing schema after upgrade from pre-1.1.5 
(CASSANDRA-5061)
 + * Fix ALTER TABLE overriding compression options with defaults
 +   (CASSANDRA-4996, CASSANDRA-5066)
 +
 +
 +1.2-rc1
 + * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
 + * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
 + * Fix preparing insert queries (CASSANDRA-5016)
 + * Fix preparing queries with counter increment (CASSANDRA-5022)
 + * Fix preparing updates with collections (CASSANDRA-5017)
 + * Don't generate UUID based on other node address (CASSANDRA-5002)
 + * Fix message when trying to alter a clustering key type (CASSANDRA-5012)
 + * Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
 + * Fix inserting only a key in CQL3 (CASSANDRA-5040)
 + * Fix CQL3 token() function when used with strings (CASSANDRA-5050)
 +Merged from 1.1:
   * reduce log spam from invalid counter shards (CASSANDRA-5026)
   * Improve schema propagation performance (CASSANDRA-5025)
 - * Fall back to old describe_splits if d_s_ex is not available 
(CASSANDRA-4803)
 - * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
 + * Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
 + * cqlsh: make it possible to describe thrift CFs (CASSANDRA-4827)
   * cqlsh: fix timestamp formatting on some platforms (CASSANDRA-5046)
 - * Fix ALTER TABLE overriding compression options with defaults 
(CASSANDRA-4996, 5066)
 - * Avoid error opening data file on startup (CASSANDRA-4984)
 - * Fix wrong index_options in cli 'show schema' (CASSANDRA-5008)
 - * Allow overriding number of available processor (CASSANDRA-4790)
  
  
 -1.1.7
 - * cqlsh: improve COPY FROM performance (CASSANDRA-4921)
 +1.2-beta3
 + * make consistency level configurable in cqlsh (CASSANDRA-4829)
 + * fix cqlsh rendering of blob fields (CASSANDRA-4970)
 + * fix cqlsh DESCRIBE command (CASSANDRA-4913)
 + * save truncation position in system table (CASSANDRA-4906)
 + * Move CompressionMetadata off-heap (CASSANDRA-4937)
 + * allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
 + * Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
 + * acquire references to overlapping sstables during compaction so bloom 
filter
 +   doesn't get free'd prematurely (CASSANDRA-4934)
 + * Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
 + * Separate tracing from Log4J (CASSANDRA-4861)
 + * Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
 + * Better printing of AbstractBounds for tracing (CASSANDRA-4931)
 + * Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
 + * Change stream session ID to UUID to avoid collision from same node 
(CASSANDRA-4813)
 + * Use Stats.db when bulk loading if present (CASSANDRA-4957)
 + * Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
 + * (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
 + * Correctly handle prepared operation on collections (CASSANDRA-4945)
 + 

[8/10] git commit: fix multithreaded compaction deadlock patch by Carl Yeksigian; reviewed by jbellis for CASSANDRA-4492

2012-12-18 Thread jbellis
fix multithreaded compaction deadlock
patch by Carl Yeksigian; reviewed by jbellis for CASSANDRA-4492


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/134e8c78
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/134e8c78
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/134e8c78

Branch: refs/heads/cassandra-1.2
Commit: 134e8c78d2acff21d960b8d78c7efd6bff5c6b29
Parents: 4885bfc
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:49:38 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:51:07 2012 -0600

--
 CHANGES.txt|4 
 conf/cassandra.yaml|   15 ++-
 .../db/compaction/AbstractCompactedRow.java|3 ++-
 .../cassandra/db/compaction/CompactionTask.java|3 +++
 .../db/compaction/LazilyCompactedRow.java  |2 +-
 .../cassandra/db/compaction/PrecompactedRow.java   |2 ++
 6 files changed, 18 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 03b62c8..cc75791 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.1.9
+ * fix multithreaded compaction deadlock (CASSANDRA-4492)
+
+
 1.1.8
  * reset getRangeSlice filter after finishing a row for get_paged_slice
(CASSANDRA-4919)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 543ad65..c4732db 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -381,15 +381,12 @@ in_memory_compaction_limit_in_mb: 64
 # Uncomment to make compaction mono-threaded, the pre-0.8 default.
 #concurrent_compactors: 1
 
-# multithreaded_compaction: false. When enabled, each compaction will
-# use up to one thread per core, plus one thread per sstable being
-# merged.  This is usually only useful for SSD-based hardware:
-# otherwise, your concern is usually to get compaction to do LESS i/o
-# (see: compaction_throughput_mb_per_sec), not more.
-#
-# WARNING: this setting has caused compaction deadlocks for multiple
-# users (see CASSANDRA-4492).  It is recommended to leave this off
-# unless you are prepared to help troubleshoot.
+# Multi-threaded compaction. When enabled, each compaction will use
+# up to one thread per core, plus one thread per sstable being merged.
+# This is usually only useful for SSD-based hardware: otherwise, 
+# your concern is usually to get compaction to do LESS i/o (see:
+# compaction_throughput_mb_per_sec), not more.
+multithreaded_compaction: false
 
 # Throttles compaction to the given total throughput across the entire
 # system. The faster you insert data, the faster you need to compact in

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java 
b/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
index 40c4e97..b7e4c1e 100644
--- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
@@ -21,6 +21,7 @@ package org.apache.cassandra.db.compaction;
  */
 
 
+import java.io.Closeable;
 import java.io.DataOutput;
 import java.io.IOException;
 import java.security.MessageDigest;
@@ -32,7 +33,7 @@ import org.apache.cassandra.db.DecoratedKey;
  * and can write a compacted version of those rows to an output stream.  It 
does
  * NOT necessarily require creating a merged CF object in memory.
  */
-public abstract class AbstractCompactedRow
+public abstract class AbstractCompactedRow implements Closeable
 {
 public final DecoratedKey key;
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
index e9fcdcd..b252bc5 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
@@ -154,7 +154,10 @@ public class CompactionTask extends AbstractCompactionTask
 
 AbstractCompactedRow row = nni.next();
 if (row.isEmpty())
+{
+row.close();
 continue;
+}
 

[5/10] git commit: merge from 1.1

2012-12-18 Thread jbellis
merge from 1.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fb9ad748
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fb9ad748
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fb9ad748

Branch: refs/heads/cassandra-1.2.0
Commit: fb9ad748d58bddc5e1be1ca84eec503d8a35c695
Parents: d67816b 134e8c7
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:51:41 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:53:29 2012 -0600

--
 CHANGES.txt|1 +
 conf/cassandra.yaml|   15 ++-
 .../db/compaction/AbstractCompactedRow.java|3 ++-
 .../cassandra/db/compaction/CompactionTask.java|3 +++
 .../db/compaction/LazilyCompactedRow.java  |2 +-
 .../cassandra/db/compaction/PrecompactedRow.java   |2 ++
 6 files changed, 15 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb9ad748/CHANGES.txt
--
diff --cc CHANGES.txt
index 2e789fa,cc75791..7a17236
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,141 -1,28 +1,142 @@@
 -1.1.9
 +1.2.0-rc2
 + * fix nodetool ownership display with vnodes (CASSANDRA-5065)
 + * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
 + * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
 + * Fix SimpleAuthorizer example (CASSANDRA-5072)
 + * cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
 + * Includes cassandra-shuffle in the debian package (CASSANDRA-5058)
 +Merged from 1.1:
+  * fix multithreaded compaction deadlock (CASSANDRA-4492)
 -
 -
 -1.1.8
 - * reset getRangeSlice filter after finishing a row for get_paged_slice
 -   (CASSANDRA-4919)
   * fix temporarily missing schema after upgrade from pre-1.1.5 
(CASSANDRA-5061)
 + * Fix ALTER TABLE overriding compression options with defaults
 +   (CASSANDRA-4996, CASSANDRA-5066)
 +
 +
 +1.2-rc1
 + * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
 + * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
 + * Fix preparing insert queries (CASSANDRA-5016)
 + * Fix preparing queries with counter increment (CASSANDRA-5022)
 + * Fix preparing updates with collections (CASSANDRA-5017)
 + * Don't generate UUID based on other node address (CASSANDRA-5002)
 + * Fix message when trying to alter a clustering key type (CASSANDRA-5012)
 + * Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
 + * Fix inserting only a key in CQL3 (CASSANDRA-5040)
 + * Fix CQL3 token() function when used with strings (CASSANDRA-5050)
 +Merged from 1.1:
   * reduce log spam from invalid counter shards (CASSANDRA-5026)
   * Improve schema propagation performance (CASSANDRA-5025)
 - * Fall back to old describe_splits if d_s_ex is not available 
(CASSANDRA-4803)
 - * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
 + * Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
 + * cqlsh: make it possible to describe thrift CFs (CASSANDRA-4827)
   * cqlsh: fix timestamp formatting on some platforms (CASSANDRA-5046)
 - * Fix ALTER TABLE overriding compression options with defaults 
(CASSANDRA-4996, 5066)
 - * Avoid error opening data file on startup (CASSANDRA-4984)
 - * Fix wrong index_options in cli 'show schema' (CASSANDRA-5008)
 - * Allow overriding number of available processor (CASSANDRA-4790)
  
  
 -1.1.7
 - * cqlsh: improve COPY FROM performance (CASSANDRA-4921)
 +1.2-beta3
 + * make consistency level configurable in cqlsh (CASSANDRA-4829)
 + * fix cqlsh rendering of blob fields (CASSANDRA-4970)
 + * fix cqlsh DESCRIBE command (CASSANDRA-4913)
 + * save truncation position in system table (CASSANDRA-4906)
 + * Move CompressionMetadata off-heap (CASSANDRA-4937)
 + * allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
 + * Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
 + * acquire references to overlapping sstables during compaction so bloom 
filter
 +   doesn't get free'd prematurely (CASSANDRA-4934)
 + * Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
 + * Separate tracing from Log4J (CASSANDRA-4861)
 + * Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
 + * Better printing of AbstractBounds for tracing (CASSANDRA-4931)
 + * Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
 + * Change stream session ID to UUID to avoid collision from same node 
(CASSANDRA-4813)
 + * Use Stats.db when bulk loading if present (CASSANDRA-4957)
 + * Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
 + * (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
 + * Correctly handle prepared operation on collections (CASSANDRA

[6/10] git commit: merge from 1.1

2012-12-18 Thread jbellis
merge from 1.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fb9ad748
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fb9ad748
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fb9ad748

Branch: refs/heads/cassandra-1.2
Commit: fb9ad748d58bddc5e1be1ca84eec503d8a35c695
Parents: d67816b 134e8c7
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:51:41 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:53:29 2012 -0600

--
 CHANGES.txt|1 +
 conf/cassandra.yaml|   15 ++-
 .../db/compaction/AbstractCompactedRow.java|3 ++-
 .../cassandra/db/compaction/CompactionTask.java|3 +++
 .../db/compaction/LazilyCompactedRow.java  |2 +-
 .../cassandra/db/compaction/PrecompactedRow.java   |2 ++
 6 files changed, 15 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb9ad748/CHANGES.txt
--
diff --cc CHANGES.txt
index 2e789fa,cc75791..7a17236
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,141 -1,28 +1,142 @@@
 -1.1.9
 +1.2.0-rc2
 + * fix nodetool ownership display with vnodes (CASSANDRA-5065)
 + * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
 + * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
 + * Fix SimpleAuthorizer example (CASSANDRA-5072)
 + * cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
 + * Includes cassandra-shuffle in the debian package (CASSANDRA-5058)
 +Merged from 1.1:
+  * fix multithreaded compaction deadlock (CASSANDRA-4492)
 -
 -
 -1.1.8
 - * reset getRangeSlice filter after finishing a row for get_paged_slice
 -   (CASSANDRA-4919)
   * fix temporarily missing schema after upgrade from pre-1.1.5 
(CASSANDRA-5061)
 + * Fix ALTER TABLE overriding compression options with defaults
 +   (CASSANDRA-4996, CASSANDRA-5066)
 +
 +
 +1.2-rc1
 + * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
 + * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
 + * Fix preparing insert queries (CASSANDRA-5016)
 + * Fix preparing queries with counter increment (CASSANDRA-5022)
 + * Fix preparing updates with collections (CASSANDRA-5017)
 + * Don't generate UUID based on other node address (CASSANDRA-5002)
 + * Fix message when trying to alter a clustering key type (CASSANDRA-5012)
 + * Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
 + * Fix inserting only a key in CQL3 (CASSANDRA-5040)
 + * Fix CQL3 token() function when used with strings (CASSANDRA-5050)
 +Merged from 1.1:
   * reduce log spam from invalid counter shards (CASSANDRA-5026)
   * Improve schema propagation performance (CASSANDRA-5025)
 - * Fall back to old describe_splits if d_s_ex is not available 
(CASSANDRA-4803)
 - * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
 + * Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
 + * cqlsh: make it possible to describe thrift CFs (CASSANDRA-4827)
   * cqlsh: fix timestamp formatting on some platforms (CASSANDRA-5046)
 - * Fix ALTER TABLE overriding compression options with defaults 
(CASSANDRA-4996, 5066)
 - * Avoid error opening data file on startup (CASSANDRA-4984)
 - * Fix wrong index_options in cli 'show schema' (CASSANDRA-5008)
 - * Allow overriding number of available processor (CASSANDRA-4790)
  
  
 -1.1.7
 - * cqlsh: improve COPY FROM performance (CASSANDRA-4921)
 +1.2-beta3
 + * make consistency level configurable in cqlsh (CASSANDRA-4829)
 + * fix cqlsh rendering of blob fields (CASSANDRA-4970)
 + * fix cqlsh DESCRIBE command (CASSANDRA-4913)
 + * save truncation position in system table (CASSANDRA-4906)
 + * Move CompressionMetadata off-heap (CASSANDRA-4937)
 + * allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
 + * Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
 + * acquire references to overlapping sstables during compaction so bloom 
filter
 +   doesn't get free'd prematurely (CASSANDRA-4934)
 + * Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
 + * Separate tracing from Log4J (CASSANDRA-4861)
 + * Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
 + * Better printing of AbstractBounds for tracing (CASSANDRA-4931)
 + * Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
 + * Change stream session ID to UUID to avoid collision from same node 
(CASSANDRA-4813)
 + * Use Stats.db when bulk loading if present (CASSANDRA-4957)
 + * Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
 + * (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
 + * Correctly handle prepared operation on collections (CASSANDRA-4

[2/10] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-18 Thread jbellis
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9fdccd76
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9fdccd76
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9fdccd76

Branch: refs/heads/cassandra-1.2
Commit: 9fdccd7683c7c950ff6dd48bad8739af6a4f2468
Parents: a6d4f7a fb9ad74
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:54:18 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:54:18 2012 -0600

--
 CHANGES.txt|1 +
 conf/cassandra.yaml|   15 ++-
 .../db/compaction/AbstractCompactedRow.java|3 ++-
 .../cassandra/db/compaction/CompactionTask.java|3 +++
 .../db/compaction/LazilyCompactedRow.java  |2 +-
 .../cassandra/db/compaction/PrecompactedRow.java   |2 ++
 6 files changed, 15 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fdccd76/CHANGES.txt
--



[10/10] git commit: fix multithreaded compaction deadlock patch by Carl Yeksigian; reviewed by jbellis for CASSANDRA-4492

2012-12-18 Thread jbellis
fix multithreaded compaction deadlock
patch by Carl Yeksigian; reviewed by jbellis for CASSANDRA-4492


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/134e8c78
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/134e8c78
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/134e8c78

Branch: refs/heads/cassandra-1.1
Commit: 134e8c78d2acff21d960b8d78c7efd6bff5c6b29
Parents: 4885bfc
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:49:38 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:51:07 2012 -0600

--
 CHANGES.txt|4 
 conf/cassandra.yaml|   15 ++-
 .../db/compaction/AbstractCompactedRow.java|3 ++-
 .../cassandra/db/compaction/CompactionTask.java|3 +++
 .../db/compaction/LazilyCompactedRow.java  |2 +-
 .../cassandra/db/compaction/PrecompactedRow.java   |2 ++
 6 files changed, 18 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 03b62c8..cc75791 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.1.9
+ * fix multithreaded compaction deadlock (CASSANDRA-4492)
+
+
 1.1.8
  * reset getRangeSlice filter after finishing a row for get_paged_slice
(CASSANDRA-4919)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 543ad65..c4732db 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -381,15 +381,12 @@ in_memory_compaction_limit_in_mb: 64
 # Uncomment to make compaction mono-threaded, the pre-0.8 default.
 #concurrent_compactors: 1
 
-# multithreaded_compaction: false. When enabled, each compaction will
-# use up to one thread per core, plus one thread per sstable being
-# merged.  This is usually only useful for SSD-based hardware:
-# otherwise, your concern is usually to get compaction to do LESS i/o
-# (see: compaction_throughput_mb_per_sec), not more.
-#
-# WARNING: this setting has caused compaction deadlocks for multiple
-# users (see CASSANDRA-4492).  It is recommended to leave this off
-# unless you are prepared to help troubleshoot.
+# Multi-threaded compaction. When enabled, each compaction will use
+# up to one thread per core, plus one thread per sstable being merged.
+# This is usually only useful for SSD-based hardware: otherwise, 
+# your concern is usually to get compaction to do LESS i/o (see:
+# compaction_throughput_mb_per_sec), not more.
+multithreaded_compaction: false
 
 # Throttles compaction to the given total throughput across the entire
 # system. The faster you insert data, the faster you need to compact in

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java 
b/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
index 40c4e97..b7e4c1e 100644
--- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
@@ -21,6 +21,7 @@ package org.apache.cassandra.db.compaction;
  */
 
 
+import java.io.Closeable;
 import java.io.DataOutput;
 import java.io.IOException;
 import java.security.MessageDigest;
@@ -32,7 +33,7 @@ import org.apache.cassandra.db.DecoratedKey;
  * and can write a compacted version of those rows to an output stream.  It 
does
  * NOT necessarily require creating a merged CF object in memory.
  */
-public abstract class AbstractCompactedRow
+public abstract class AbstractCompactedRow implements Closeable
 {
 public final DecoratedKey key;
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
index e9fcdcd..b252bc5 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
@@ -154,7 +154,10 @@ public class CompactionTask extends AbstractCompactionTask
 
 AbstractCompactedRow row = nni.next();
 if (row.isEmpty())
+{
+row.close();
 continue;
+}
 

[7/10] git commit: fix multithreaded compaction deadlock patch by Carl Yeksigian; reviewed by jbellis for CASSANDRA-4492

2012-12-18 Thread jbellis
fix multithreaded compaction deadlock
patch by Carl Yeksigian; reviewed by jbellis for CASSANDRA-4492


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/134e8c78
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/134e8c78
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/134e8c78

Branch: refs/heads/trunk
Commit: 134e8c78d2acff21d960b8d78c7efd6bff5c6b29
Parents: 4885bfc
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:49:38 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:51:07 2012 -0600

--
 CHANGES.txt|4 
 conf/cassandra.yaml|   15 ++-
 .../db/compaction/AbstractCompactedRow.java|3 ++-
 .../cassandra/db/compaction/CompactionTask.java|3 +++
 .../db/compaction/LazilyCompactedRow.java  |2 +-
 .../cassandra/db/compaction/PrecompactedRow.java   |2 ++
 6 files changed, 18 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 03b62c8..cc75791 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.1.9
+ * fix multithreaded compaction deadlock (CASSANDRA-4492)
+
+
 1.1.8
  * reset getRangeSlice filter after finishing a row for get_paged_slice
(CASSANDRA-4919)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 543ad65..c4732db 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -381,15 +381,12 @@ in_memory_compaction_limit_in_mb: 64
 # Uncomment to make compaction mono-threaded, the pre-0.8 default.
 #concurrent_compactors: 1
 
-# multithreaded_compaction: false. When enabled, each compaction will
-# use up to one thread per core, plus one thread per sstable being
-# merged.  This is usually only useful for SSD-based hardware:
-# otherwise, your concern is usually to get compaction to do LESS i/o
-# (see: compaction_throughput_mb_per_sec), not more.
-#
-# WARNING: this setting has caused compaction deadlocks for multiple
-# users (see CASSANDRA-4492).  It is recommended to leave this off
-# unless you are prepared to help troubleshoot.
+# Multi-threaded compaction. When enabled, each compaction will use
+# up to one thread per core, plus one thread per sstable being merged.
+# This is usually only useful for SSD-based hardware: otherwise, 
+# your concern is usually to get compaction to do LESS i/o (see:
+# compaction_throughput_mb_per_sec), not more.
+multithreaded_compaction: false
 
 # Throttles compaction to the given total throughput across the entire
 # system. The faster you insert data, the faster you need to compact in

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java 
b/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
index 40c4e97..b7e4c1e 100644
--- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
@@ -21,6 +21,7 @@ package org.apache.cassandra.db.compaction;
  */
 
 
+import java.io.Closeable;
 import java.io.DataOutput;
 import java.io.IOException;
 import java.security.MessageDigest;
@@ -32,7 +33,7 @@ import org.apache.cassandra.db.DecoratedKey;
  * and can write a compacted version of those rows to an output stream.  It 
does
  * NOT necessarily require creating a merged CF object in memory.
  */
-public abstract class AbstractCompactedRow
+public abstract class AbstractCompactedRow implements Closeable
 {
 public final DecoratedKey key;
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
index e9fcdcd..b252bc5 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
@@ -154,7 +154,10 @@ public class CompactionTask extends AbstractCompactionTask
 
 AbstractCompactedRow row = nni.next();
 if (row.isEmpty())
+{
+row.close();
 continue;
+}
 
   

[9/10] git commit: fix multithreaded compaction deadlock patch by Carl Yeksigian; reviewed by jbellis for CASSANDRA-4492

2012-12-18 Thread jbellis
fix multithreaded compaction deadlock
patch by Carl Yeksigian; reviewed by jbellis for CASSANDRA-4492


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/134e8c78
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/134e8c78
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/134e8c78

Branch: refs/heads/cassandra-1.2.0
Commit: 134e8c78d2acff21d960b8d78c7efd6bff5c6b29
Parents: 4885bfc
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:49:38 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:51:07 2012 -0600

--
 CHANGES.txt|4 
 conf/cassandra.yaml|   15 ++-
 .../db/compaction/AbstractCompactedRow.java|3 ++-
 .../cassandra/db/compaction/CompactionTask.java|3 +++
 .../db/compaction/LazilyCompactedRow.java  |2 +-
 .../cassandra/db/compaction/PrecompactedRow.java   |2 ++
 6 files changed, 18 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 03b62c8..cc75791 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.1.9
+ * fix multithreaded compaction deadlock (CASSANDRA-4492)
+
+
 1.1.8
  * reset getRangeSlice filter after finishing a row for get_paged_slice
(CASSANDRA-4919)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 543ad65..c4732db 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -381,15 +381,12 @@ in_memory_compaction_limit_in_mb: 64
 # Uncomment to make compaction mono-threaded, the pre-0.8 default.
 #concurrent_compactors: 1
 
-# multithreaded_compaction: false. When enabled, each compaction will
-# use up to one thread per core, plus one thread per sstable being
-# merged.  This is usually only useful for SSD-based hardware:
-# otherwise, your concern is usually to get compaction to do LESS i/o
-# (see: compaction_throughput_mb_per_sec), not more.
-#
-# WARNING: this setting has caused compaction deadlocks for multiple
-# users (see CASSANDRA-4492).  It is recommended to leave this off
-# unless you are prepared to help troubleshoot.
+# Multi-threaded compaction. When enabled, each compaction will use
+# up to one thread per core, plus one thread per sstable being merged.
+# This is usually only useful for SSD-based hardware: otherwise, 
+# your concern is usually to get compaction to do LESS i/o (see:
+# compaction_throughput_mb_per_sec), not more.
+multithreaded_compaction: false
 
 # Throttles compaction to the given total throughput across the entire
 # system. The faster you insert data, the faster you need to compact in

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
--
diff --git 
a/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java 
b/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
index 40c4e97..b7e4c1e 100644
--- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactedRow.java
@@ -21,6 +21,7 @@ package org.apache.cassandra.db.compaction;
  */
 
 
+import java.io.Closeable;
 import java.io.DataOutput;
 import java.io.IOException;
 import java.security.MessageDigest;
@@ -32,7 +33,7 @@ import org.apache.cassandra.db.DecoratedKey;
  * and can write a compacted version of those rows to an output stream.  It 
does
  * NOT necessarily require creating a merged CF object in memory.
  */
-public abstract class AbstractCompactedRow
+public abstract class AbstractCompactedRow implements Closeable
 {
 public final DecoratedKey key;
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/134e8c78/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
index e9fcdcd..b252bc5 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
@@ -154,7 +154,10 @@ public class CompactionTask extends AbstractCompactionTask
 
 AbstractCompactedRow row = nni.next();
 if (row.isEmpty())
+{
+row.close();
 continue;
+}

[jira] [Created] (CASSANDRA-5076) Murmur3Partitioner#describeOwnership calculates ownership% wrong

2012-12-18 Thread Yuki Morishita (JIRA)
Yuki Morishita created CASSANDRA-5076:
-

 Summary: Murmur3Partitioner#describeOwnership calculates 
ownership% wrong
 Key: CASSANDRA-5076
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5076
 Project: Cassandra
  Issue Type: Bug
Affects Versions: 1.2.0 rc1
Reporter: Yuki Morishita
Priority: Minor


When I issued 'nodetool status' on Murmur3-partitioned cluster I got the 
following output:

{code}
$ bin/nodetool -p 7100 status   



(git)-[5065]-[~/Developments/workspace/cassandra]
Datacenter: datacenter1
===
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address   Load   Owns   Host ID   
TokenRack
UN  127.0.0.1 24.78 KB   66.7%  ace7e54c-9fe1-4b23-83b0-949772b24c30  
-9223372036854775808 rack1
UN  127.0.0.2 29.22 KB   66.7%  67146442-dbfd-449c-82e1-26729b8ac89c  
-3074457345618258603 rack1
UN  127.0.0.3 6.19 KB66.7%  3fab9f18-daf3-4452-8b9c-204ea0ee2e15  
3074457345618258602  rack1
{code}

Notice that 'Owns' percentages add up to 200%.

I think the problem is that Murmur3Partitioner#describeOwnership currently 
calculate ownership% based on [0, Long.MAX_VALUE] range, but we have to 
consider about negative tokens.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5065) nodetool ownership is incorrect with vnodes

2012-12-18 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5065:
---

committed

> nodetool ownership is incorrect with vnodes
> ---
>
> Key: CASSANDRA-5065
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5065
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Jonathan Ellis
> Fix For: 1.2.0 rc2
>
> Attachments: 5065.txt
>
>
> Example:
> {noformat}
> Datacenter: datacenter1
> ===
> Status=Up/Down
> |/ State=Normal/Leaving/Joining/Moving
> --  Address   Load   Tokens  Owns   Host ID   
> Rack
> UN  10.179.65.102 197.96 MB  256 0.1%   
> 6ac56251-08ff-46be-be06-5b8dd929b937  rack1
> UN  10.179.111.137209.3 MB   256 0.0%   
> aade8ef6-c907-427c-87be-a5fe05a27fa4  rack1
> UN  10.179.64.227 205.86 MB  256 0.1%   
> 4634cc80-0832-4ea1-b4a6-39ae54985206  rack1
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[4/6] git commit: fix nodetool ownership display with vnodes patch by jbellis; reviewed by yukim for CASSANDRA-5065

2012-12-18 Thread jbellis
fix nodetool ownership display with vnodes
patch by jbellis; reviewed by yukim for CASSANDRA-5065


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d67816be
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d67816be
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d67816be

Branch: refs/heads/trunk
Commit: d67816bee5271a4f65116561950bbd2b6fcf51a4
Parents: bc598b5
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:32:07 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:32:13 2012 -0600

--
 CHANGES.txt|1 +
 .../apache/cassandra/service/StorageService.java   |   18 --
 2 files changed, 11 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d67816be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4a13a7c..2e789fa 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.0-rc2
+ * fix nodetool ownership display with vnodes (CASSANDRA-5065)
  * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
  * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
  * Fix SimpleAuthorizer example (CASSANDRA-5072)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d67816be/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 5577680..9cddc1a 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3207,20 +3207,22 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 }
 }
 
-public boolean isDcAwareReplicationStrategy(String keyspace)
-{
-return SimpleStrategy.class != 
Table.open(keyspace).getReplicationStrategy().getClass();
-}
-
 public Map getOwnership()
 {
 List sortedTokens = tokenMetadata.sortedTokens();
 // describeOwnership returns tokens in an unspecified order, let's 
re-order them
 Map tokenMap = new TreeMap(getPartitioner().describeOwnership(sortedTokens));
-Map stringMap = new LinkedHashMap();
+Map nodeMap = new LinkedHashMap();
 for (Map.Entry entry : tokenMap.entrySet())
-stringMap.put(tokenMetadata.getEndpoint(entry.getKey()), 
entry.getValue());
-return stringMap;
+{
+InetAddress endpoint = tokenMetadata.getEndpoint(entry.getKey());
+Float tokenOwnership = entry.getValue();
+if (nodeMap.containsKey(endpoint))
+nodeMap.put(endpoint, nodeMap.get(endpoint) + tokenOwnership);
+else
+nodeMap.put(endpoint, tokenOwnership);
+}
+return nodeMap;
 }
 
 /**



[6/6] git commit: fix nodetool ownership display with vnodes patch by jbellis; reviewed by yukim for CASSANDRA-5065

2012-12-18 Thread jbellis
fix nodetool ownership display with vnodes
patch by jbellis; reviewed by yukim for CASSANDRA-5065


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d67816be
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d67816be
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d67816be

Branch: refs/heads/cassandra-1.2
Commit: d67816bee5271a4f65116561950bbd2b6fcf51a4
Parents: bc598b5
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:32:07 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:32:13 2012 -0600

--
 CHANGES.txt|1 +
 .../apache/cassandra/service/StorageService.java   |   18 --
 2 files changed, 11 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d67816be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4a13a7c..2e789fa 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.0-rc2
+ * fix nodetool ownership display with vnodes (CASSANDRA-5065)
  * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
  * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
  * Fix SimpleAuthorizer example (CASSANDRA-5072)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d67816be/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 5577680..9cddc1a 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3207,20 +3207,22 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 }
 }
 
-public boolean isDcAwareReplicationStrategy(String keyspace)
-{
-return SimpleStrategy.class != 
Table.open(keyspace).getReplicationStrategy().getClass();
-}
-
 public Map getOwnership()
 {
 List sortedTokens = tokenMetadata.sortedTokens();
 // describeOwnership returns tokens in an unspecified order, let's 
re-order them
 Map tokenMap = new TreeMap(getPartitioner().describeOwnership(sortedTokens));
-Map stringMap = new LinkedHashMap();
+Map nodeMap = new LinkedHashMap();
 for (Map.Entry entry : tokenMap.entrySet())
-stringMap.put(tokenMetadata.getEndpoint(entry.getKey()), 
entry.getValue());
-return stringMap;
+{
+InetAddress endpoint = tokenMetadata.getEndpoint(entry.getKey());
+Float tokenOwnership = entry.getValue();
+if (nodeMap.containsKey(endpoint))
+nodeMap.put(endpoint, nodeMap.get(endpoint) + tokenOwnership);
+else
+nodeMap.put(endpoint, tokenOwnership);
+}
+return nodeMap;
 }
 
 /**



[1/6] git commit: Merge branch 'cassandra-1.2' into trunk

2012-12-18 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.2 63c5a9e2b -> a6d4f7a4e
  refs/heads/cassandra-1.2.0 bc598b5a0 -> d67816bee
  refs/heads/trunk 02c8e233b -> 77fb2080f


Merge branch 'cassandra-1.2' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/77fb2080
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/77fb2080
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/77fb2080

Branch: refs/heads/trunk
Commit: 77fb2080f3fb3a9c17e020656e186dbc23c03578
Parents: 02c8e23 a6d4f7a
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:32:32 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:32:32 2012 -0600

--
 CHANGES.txt|1 +
 .../apache/cassandra/service/StorageService.java   |   18 --
 2 files changed, 11 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/77fb2080/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/77fb2080/src/java/org/apache/cassandra/service/StorageService.java
--



[5/6] git commit: fix nodetool ownership display with vnodes patch by jbellis; reviewed by yukim for CASSANDRA-5065

2012-12-18 Thread jbellis
fix nodetool ownership display with vnodes
patch by jbellis; reviewed by yukim for CASSANDRA-5065


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d67816be
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d67816be
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d67816be

Branch: refs/heads/cassandra-1.2.0
Commit: d67816bee5271a4f65116561950bbd2b6fcf51a4
Parents: bc598b5
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:32:07 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:32:13 2012 -0600

--
 CHANGES.txt|1 +
 .../apache/cassandra/service/StorageService.java   |   18 --
 2 files changed, 11 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d67816be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4a13a7c..2e789fa 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.0-rc2
+ * fix nodetool ownership display with vnodes (CASSANDRA-5065)
  * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
  * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
  * Fix SimpleAuthorizer example (CASSANDRA-5072)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d67816be/src/java/org/apache/cassandra/service/StorageService.java
--
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index 5577680..9cddc1a 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3207,20 +3207,22 @@ public class StorageService implements 
IEndpointStateChangeSubscriber, StorageSe
 }
 }
 
-public boolean isDcAwareReplicationStrategy(String keyspace)
-{
-return SimpleStrategy.class != 
Table.open(keyspace).getReplicationStrategy().getClass();
-}
-
 public Map getOwnership()
 {
 List sortedTokens = tokenMetadata.sortedTokens();
 // describeOwnership returns tokens in an unspecified order, let's 
re-order them
 Map tokenMap = new TreeMap(getPartitioner().describeOwnership(sortedTokens));
-Map stringMap = new LinkedHashMap();
+Map nodeMap = new LinkedHashMap();
 for (Map.Entry entry : tokenMap.entrySet())
-stringMap.put(tokenMetadata.getEndpoint(entry.getKey()), 
entry.getValue());
-return stringMap;
+{
+InetAddress endpoint = tokenMetadata.getEndpoint(entry.getKey());
+Float tokenOwnership = entry.getValue();
+if (nodeMap.containsKey(endpoint))
+nodeMap.put(endpoint, nodeMap.get(endpoint) + tokenOwnership);
+else
+nodeMap.put(endpoint, tokenOwnership);
+}
+return nodeMap;
 }
 
 /**



[3/6] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-18 Thread jbellis
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a6d4f7a4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a6d4f7a4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a6d4f7a4

Branch: refs/heads/trunk
Commit: a6d4f7a4e8d5d0d7829ab6659791125f56cd6a5c
Parents: 63c5a9e d67816b
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:32:25 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:32:25 2012 -0600

--
 CHANGES.txt|1 +
 .../apache/cassandra/service/StorageService.java   |   18 --
 2 files changed, 11 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a6d4f7a4/CHANGES.txt
--
diff --cc CHANGES.txt
index 3e9f052,2e789fa..d27814d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +1.2.1
 + * off-heap cache doesn't need mutable column container (CASSANDRA-5057)
 + * apply disk_failure_policy to bad disks on initial directory creation 
 +   (CASSANDRA-4847)
 + * Optimize name-based queries to use ArrayBackedSortedColumns 
(CASSANDRA-5043)
 + * Fall back to old manifest if most recent is unparseable (CASSANDRA-5041)
 + * pool [Compressed]RandomAccessReader objects on the partitioned read path
 +   (CASSANDRA-4942)
 + * Add debug logging to list filenames processed by Directories.migrateFile 
 +   method (CASSANDRA-4939)
 + * Expose black-listed directories via JMX (CASSANDRA-4848)
 +
 +
  1.2.0-rc2
+  * fix nodetool ownership display with vnodes (CASSANDRA-5065)
   * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
   * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
   * Fix SimpleAuthorizer example (CASSANDRA-5072)



[2/6] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-18 Thread jbellis
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a6d4f7a4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a6d4f7a4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a6d4f7a4

Branch: refs/heads/cassandra-1.2
Commit: a6d4f7a4e8d5d0d7829ab6659791125f56cd6a5c
Parents: 63c5a9e d67816b
Author: Jonathan Ellis 
Authored: Tue Dec 18 14:32:25 2012 -0600
Committer: Jonathan Ellis 
Committed: Tue Dec 18 14:32:25 2012 -0600

--
 CHANGES.txt|1 +
 .../apache/cassandra/service/StorageService.java   |   18 --
 2 files changed, 11 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a6d4f7a4/CHANGES.txt
--
diff --cc CHANGES.txt
index 3e9f052,2e789fa..d27814d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 +1.2.1
 + * off-heap cache doesn't need mutable column container (CASSANDRA-5057)
 + * apply disk_failure_policy to bad disks on initial directory creation 
 +   (CASSANDRA-4847)
 + * Optimize name-based queries to use ArrayBackedSortedColumns 
(CASSANDRA-5043)
 + * Fall back to old manifest if most recent is unparseable (CASSANDRA-5041)
 + * pool [Compressed]RandomAccessReader objects on the partitioned read path
 +   (CASSANDRA-4942)
 + * Add debug logging to list filenames processed by Directories.migrateFile 
 +   method (CASSANDRA-4939)
 + * Expose black-listed directories via JMX (CASSANDRA-4848)
 +
 +
  1.2.0-rc2
+  * fix nodetool ownership display with vnodes (CASSANDRA-5065)
   * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
   * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
   * Fix SimpleAuthorizer example (CASSANDRA-5072)



[jira] [Commented] (CASSANDRA-5075) CQL Add support for AS keyword in select

2012-12-18 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5075:
---

I think you're *enormously* underestimating how far CQL is from supporting JPA 
out of the box.  We don't support joins, by design.  Given that, what benefit 
would AS support give us?

> CQL Add support for AS keyword in select
> 
>
> Key: CASSANDRA-5075
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5075
> Project: Cassandra
>  Issue Type: Improvement
>  Components: API
>Reporter: Alexandr Kulik
>Priority: Minor
>
> It would be nice to have support of AS keyword in select statement. It would 
> allow to use jpa frameworks without writing custom sql/cql's. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5065) nodetool ownership is incorrect with vnodes

2012-12-18 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-5065:
---

Patch lgtm, +1.

> nodetool ownership is incorrect with vnodes
> ---
>
> Key: CASSANDRA-5065
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5065
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Jonathan Ellis
> Fix For: 1.2.0 rc2
>
> Attachments: 5065.txt
>
>
> Example:
> {noformat}
> Datacenter: datacenter1
> ===
> Status=Up/Down
> |/ State=Normal/Leaving/Joining/Moving
> --  Address   Load   Tokens  Owns   Host ID   
> Rack
> UN  10.179.65.102 197.96 MB  256 0.1%   
> 6ac56251-08ff-46be-be06-5b8dd929b937  rack1
> UN  10.179.111.137209.3 MB   256 0.0%   
> aade8ef6-c907-427c-87be-a5fe05a27fa4  rack1
> UN  10.179.64.227 205.86 MB  256 0.1%   
> 4634cc80-0832-4ea1-b4a6-39ae54985206  rack1
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (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:all-tabpanel
 ]

Carl Yeksigian updated CASSANDRA-4492:
--

Attachment: 4492.patch

> 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: 4492.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 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at 
> java.util.concurrent.ThreadPoolExecutor$

[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-4894) log number of combined/merged rows during a compaction

2012-12-18 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-4894:
---

bq. Maybe it could use some explanation of what those number means?

Hmm, I don't come up with good short description to put in that log line. Any 
suggestion?

> log number of combined/merged rows during a compaction
> --
>
> Key: CASSANDRA-4894
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4894
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Matthew F. Dennis
>Assignee: Yuki Morishita
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 4894-1.2.txt
>
>
> we already log some details about compactions but it would be useful to know 
> how many rows were merged (resulting in "useful" work) and how many were 
> unique (representing "wasted work").
> the simple approach requires two additional counters (one for unique rows, 
> one for merged rows).  As the merge join is progressing if two or more rows 
> are combined, tick the joined counter.  If a row is simply copied tick the 
> unique counter.
> a more complete solution would be to keep a separate count for each number of 
> merges.  This would require number_of_files_being_merged counters.  If no 
> rows were merged, tick counters[0], if two rows were merged tick counters[1] 
> and so on 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5075) CQL Add support for AS keyword in select

2012-12-18 Thread Alexandr Kulik (JIRA)
Alexandr Kulik created CASSANDRA-5075:
-

 Summary: CQL Add support for AS keyword in select
 Key: CASSANDRA-5075
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5075
 Project: Cassandra
  Issue Type: Improvement
  Components: API
Reporter: Alexandr Kulik
Priority: Minor


It would be nice to have support of AS keyword in select statement. It would 
allow to use jpa frameworks without writing custom sql/cql's. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[2/3] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-18 Thread slebresne
Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/63c5a9e2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/63c5a9e2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/63c5a9e2

Branch: refs/heads/trunk
Commit: 63c5a9e2b83b7e99d844d6ea4d061794196c4e58
Parents: 7532d5c bc598b5
Author: Sylvain Lebresne 
Authored: Tue Dec 18 18:20:16 2012 +0100
Committer: Sylvain Lebresne 
Committed: Tue Dec 18 18:20:16 2012 +0100

--
 CHANGES.txt  |1 +
 bin/cassandra-shuffle|   57 +
 bin/shuffle  |   57 -
 debian/cassandra.install |1 +
 4 files changed, 59 insertions(+), 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/63c5a9e2/CHANGES.txt
--



[3/3] git commit: Include shuffle in the debian package (and rename to cassandra-shuffle)

2012-12-18 Thread slebresne
Include shuffle in the debian package (and rename to cassandra-shuffle)

patch by slebresne; reviewed by urandom for CASSANDRA-5058


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bc598b5a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bc598b5a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bc598b5a

Branch: refs/heads/trunk
Commit: bc598b5a05b5033b524706553ebfe578fae5a841
Parents: b7c4de9
Author: Sylvain Lebresne 
Authored: Tue Dec 18 18:18:59 2012 +0100
Committer: Sylvain Lebresne 
Committed: Tue Dec 18 18:18:59 2012 +0100

--
 CHANGES.txt  |1 +
 bin/cassandra-shuffle|   57 +
 bin/shuffle  |   57 -
 debian/cassandra.install |1 +
 4 files changed, 59 insertions(+), 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc598b5a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5b5ab49..4a13a7c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,7 @@
  * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
  * Fix SimpleAuthorizer example (CASSANDRA-5072)
  * cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
+ * Includes cassandra-shuffle in the debian package (CASSANDRA-5058)
 Merged from 1.1:
  * fix temporarily missing schema after upgrade from pre-1.1.5 (CASSANDRA-5061)
  * Fix ALTER TABLE overriding compression options with defaults

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc598b5a/bin/cassandra-shuffle
--
diff --git a/bin/cassandra-shuffle b/bin/cassandra-shuffle
new file mode 100644
index 000..d6dabfe
--- /dev/null
+++ b/bin/cassandra-shuffle
@@ -0,0 +1,57 @@
+#!/bin/sh
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$CASSANDRA_INCLUDE" = "x" ]; then
+for include in /usr/share/cassandra/cassandra.in.sh \
+   /usr/local/share/cassandra/cassandra.in.sh \
+   /opt/cassandra/cassandra.in.sh \
+   `dirname $0`/cassandra.in.sh; do
+if [ -r $include ]; then
+. $include
+break
+fi
+done
+elif [ -r $CASSANDRA_INCLUDE ]; then
+. $CASSANDRA_INCLUDE
+fi
+
+# Use JAVA_HOME if set, otherwise look for java in PATH
+if [ -x $JAVA_HOME/bin/java ]; then
+JAVA=$JAVA_HOME/bin/java
+else
+JAVA=`which java`
+fi
+
+if [ -z $CASSANDRA_CONF -o -z $CLASSPATH ]; then
+echo "You must set the CASSANDRA_CONF and CLASSPATH vars" >&2
+exit 1
+fi
+
+# Special-case path variables.
+case "`uname`" in
+CYGWIN*) 
+CLASSPATH=`cygpath -p -w "$CLASSPATH"`
+CASSANDRA_CONF=`cygpath -p -w "$CASSANDRA_CONF"`
+;;
+esac
+
+$JAVA -cp $CLASSPATH \
+  -Xmx32m \
+  -Dlog4j.configuration=log4j-tools.properties \
+  org.apache.cassandra.tools.Shuffle $@
+
+# vi:ai sw=4 ts=4 tw=0 et

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc598b5a/bin/shuffle
--
diff --git a/bin/shuffle b/bin/shuffle
deleted file mode 100755
index d6dabfe..000
--- a/bin/shuffle
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specifi

[1/3] git commit: Merge branch 'cassandra-1.2' into trunk

2012-12-18 Thread slebresne
Updated Branches:
  refs/heads/trunk ace2258eb -> 02c8e233b


Merge branch 'cassandra-1.2' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/02c8e233
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/02c8e233
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/02c8e233

Branch: refs/heads/trunk
Commit: 02c8e233b6a1ee9593f76a8b94e8f27957818b7a
Parents: ace2258 63c5a9e
Author: Sylvain Lebresne 
Authored: Tue Dec 18 18:20:36 2012 +0100
Committer: Sylvain Lebresne 
Committed: Tue Dec 18 18:20:36 2012 +0100

--
 CHANGES.txt  |1 +
 bin/cassandra-shuffle|   57 +
 bin/shuffle  |   57 -
 debian/cassandra.install |1 +
 4 files changed, 59 insertions(+), 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/02c8e233/CHANGES.txt
--



[1/2] git commit: Merge branch 'cassandra-1.2.0' into cassandra-1.2

2012-12-18 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2 7532d5cbf -> 63c5a9e2b


Merge branch 'cassandra-1.2.0' into cassandra-1.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/63c5a9e2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/63c5a9e2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/63c5a9e2

Branch: refs/heads/cassandra-1.2
Commit: 63c5a9e2b83b7e99d844d6ea4d061794196c4e58
Parents: 7532d5c bc598b5
Author: Sylvain Lebresne 
Authored: Tue Dec 18 18:20:16 2012 +0100
Committer: Sylvain Lebresne 
Committed: Tue Dec 18 18:20:16 2012 +0100

--
 CHANGES.txt  |1 +
 bin/cassandra-shuffle|   57 +
 bin/shuffle  |   57 -
 debian/cassandra.install |1 +
 4 files changed, 59 insertions(+), 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/63c5a9e2/CHANGES.txt
--



[2/2] git commit: Include shuffle in the debian package (and rename to cassandra-shuffle)

2012-12-18 Thread slebresne
Include shuffle in the debian package (and rename to cassandra-shuffle)

patch by slebresne; reviewed by urandom for CASSANDRA-5058


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bc598b5a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bc598b5a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bc598b5a

Branch: refs/heads/cassandra-1.2
Commit: bc598b5a05b5033b524706553ebfe578fae5a841
Parents: b7c4de9
Author: Sylvain Lebresne 
Authored: Tue Dec 18 18:18:59 2012 +0100
Committer: Sylvain Lebresne 
Committed: Tue Dec 18 18:18:59 2012 +0100

--
 CHANGES.txt  |1 +
 bin/cassandra-shuffle|   57 +
 bin/shuffle  |   57 -
 debian/cassandra.install |1 +
 4 files changed, 59 insertions(+), 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc598b5a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5b5ab49..4a13a7c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,7 @@
  * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
  * Fix SimpleAuthorizer example (CASSANDRA-5072)
  * cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
+ * Includes cassandra-shuffle in the debian package (CASSANDRA-5058)
 Merged from 1.1:
  * fix temporarily missing schema after upgrade from pre-1.1.5 (CASSANDRA-5061)
  * Fix ALTER TABLE overriding compression options with defaults

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc598b5a/bin/cassandra-shuffle
--
diff --git a/bin/cassandra-shuffle b/bin/cassandra-shuffle
new file mode 100644
index 000..d6dabfe
--- /dev/null
+++ b/bin/cassandra-shuffle
@@ -0,0 +1,57 @@
+#!/bin/sh
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$CASSANDRA_INCLUDE" = "x" ]; then
+for include in /usr/share/cassandra/cassandra.in.sh \
+   /usr/local/share/cassandra/cassandra.in.sh \
+   /opt/cassandra/cassandra.in.sh \
+   `dirname $0`/cassandra.in.sh; do
+if [ -r $include ]; then
+. $include
+break
+fi
+done
+elif [ -r $CASSANDRA_INCLUDE ]; then
+. $CASSANDRA_INCLUDE
+fi
+
+# Use JAVA_HOME if set, otherwise look for java in PATH
+if [ -x $JAVA_HOME/bin/java ]; then
+JAVA=$JAVA_HOME/bin/java
+else
+JAVA=`which java`
+fi
+
+if [ -z $CASSANDRA_CONF -o -z $CLASSPATH ]; then
+echo "You must set the CASSANDRA_CONF and CLASSPATH vars" >&2
+exit 1
+fi
+
+# Special-case path variables.
+case "`uname`" in
+CYGWIN*) 
+CLASSPATH=`cygpath -p -w "$CLASSPATH"`
+CASSANDRA_CONF=`cygpath -p -w "$CASSANDRA_CONF"`
+;;
+esac
+
+$JAVA -cp $CLASSPATH \
+  -Xmx32m \
+  -Dlog4j.configuration=log4j-tools.properties \
+  org.apache.cassandra.tools.Shuffle $@
+
+# vi:ai sw=4 ts=4 tw=0 et

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc598b5a/bin/shuffle
--
diff --git a/bin/shuffle b/bin/shuffle
deleted file mode 100755
index d6dabfe..000
--- a/bin/shuffle
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the

git commit: Include shuffle in the debian package (and rename to cassandra-shuffle)

2012-12-18 Thread slebresne
Updated Branches:
  refs/heads/cassandra-1.2.0 b7c4de924 -> bc598b5a0


Include shuffle in the debian package (and rename to cassandra-shuffle)

patch by slebresne; reviewed by urandom for CASSANDRA-5058


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bc598b5a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bc598b5a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bc598b5a

Branch: refs/heads/cassandra-1.2.0
Commit: bc598b5a05b5033b524706553ebfe578fae5a841
Parents: b7c4de9
Author: Sylvain Lebresne 
Authored: Tue Dec 18 18:18:59 2012 +0100
Committer: Sylvain Lebresne 
Committed: Tue Dec 18 18:18:59 2012 +0100

--
 CHANGES.txt  |1 +
 bin/cassandra-shuffle|   57 +
 bin/shuffle  |   57 -
 debian/cassandra.install |1 +
 4 files changed, 59 insertions(+), 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc598b5a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5b5ab49..4a13a7c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,7 @@
  * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
  * Fix SimpleAuthorizer example (CASSANDRA-5072)
  * cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
+ * Includes cassandra-shuffle in the debian package (CASSANDRA-5058)
 Merged from 1.1:
  * fix temporarily missing schema after upgrade from pre-1.1.5 (CASSANDRA-5061)
  * Fix ALTER TABLE overriding compression options with defaults

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc598b5a/bin/cassandra-shuffle
--
diff --git a/bin/cassandra-shuffle b/bin/cassandra-shuffle
new file mode 100644
index 000..d6dabfe
--- /dev/null
+++ b/bin/cassandra-shuffle
@@ -0,0 +1,57 @@
+#!/bin/sh
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$CASSANDRA_INCLUDE" = "x" ]; then
+for include in /usr/share/cassandra/cassandra.in.sh \
+   /usr/local/share/cassandra/cassandra.in.sh \
+   /opt/cassandra/cassandra.in.sh \
+   `dirname $0`/cassandra.in.sh; do
+if [ -r $include ]; then
+. $include
+break
+fi
+done
+elif [ -r $CASSANDRA_INCLUDE ]; then
+. $CASSANDRA_INCLUDE
+fi
+
+# Use JAVA_HOME if set, otherwise look for java in PATH
+if [ -x $JAVA_HOME/bin/java ]; then
+JAVA=$JAVA_HOME/bin/java
+else
+JAVA=`which java`
+fi
+
+if [ -z $CASSANDRA_CONF -o -z $CLASSPATH ]; then
+echo "You must set the CASSANDRA_CONF and CLASSPATH vars" >&2
+exit 1
+fi
+
+# Special-case path variables.
+case "`uname`" in
+CYGWIN*) 
+CLASSPATH=`cygpath -p -w "$CLASSPATH"`
+CASSANDRA_CONF=`cygpath -p -w "$CASSANDRA_CONF"`
+;;
+esac
+
+$JAVA -cp $CLASSPATH \
+  -Xmx32m \
+  -Dlog4j.configuration=log4j-tools.properties \
+  org.apache.cassandra.tools.Shuffle $@
+
+# vi:ai sw=4 ts=4 tw=0 et

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bc598b5a/bin/shuffle
--
diff --git a/bin/shuffle b/bin/shuffle
deleted file mode 100755
index d6dabfe..000
--- a/bin/shuffle
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CON

[jira] [Commented] (CASSANDRA-5058) debian packaging should include shuffle

2012-12-18 Thread Eric Evans (JIRA)

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

Eric Evans commented on CASSANDRA-5058:
---

bq. Rename to cassandra-shuffle and add it to the debian packaging.

+1

> debian packaging should include shuffle
> ---
>
> Key: CASSANDRA-5058
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5058
> Project: Cassandra
>  Issue Type: Bug
>  Components: Packaging
>Reporter: Brandon Williams
>Assignee: Sylvain Lebresne
> Fix For: 1.2.0 rc2
>
> Attachments: 5058.txt
>
>
> Our debian packaging doesn't currently include shuffle, but we should add it 
> so people have a way of upgrading to vnodes.  This might also be a good time 
> to consider a different name for shuffle, though I don't believe it currently 
> conflicts with anything else.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5058) debian packaging should include shuffle

2012-12-18 Thread Sylvain Lebresne (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-5058:


Attachment: 5058.txt

Rename to cassandra-shuffle and add it to the debian packaging.

> debian packaging should include shuffle
> ---
>
> Key: CASSANDRA-5058
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5058
> Project: Cassandra
>  Issue Type: Bug
>  Components: Packaging
>Reporter: Brandon Williams
>Assignee: Brandon Williams
> Fix For: 1.2.0 rc2
>
> Attachments: 5058.txt
>
>
> Our debian packaging doesn't currently include shuffle, but we should add it 
> so people have a way of upgrading to vnodes.  This might also be a good time 
> to consider a different name for shuffle, though I don't believe it currently 
> conflicts with anything else.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4767) Need some indication of node repair success or failure

2012-12-18 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4767:
-

Oh, and while we're at it and since we add a new JMX call, let's maybe rename 
it to forceRepairAsync and drop the 'Table' qualification that is just 
confusing for end-users.

> Need some indication of node repair success or failure
> --
>
> Key: CASSANDRA-4767
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4767
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Ahmed Bashir
>Assignee: Yuki Morishita
>Priority: Minor
>  Labels: jmx
> Fix For: 1.1.9
>
> Attachments: 4767-1.1.txt
>
>
> We are currently verifying node repair status via basic log analysis.  In 
> order to automatically track the status of periodic node repair jobs, it 
> would be better to have an indicator (through JMX perhaps).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-5065) nodetool ownership is incorrect with vnodes

2012-12-18 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5065?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-5065:
--

Reviewer: yukim  (was: brandon.williams)

> nodetool ownership is incorrect with vnodes
> ---
>
> Key: CASSANDRA-5065
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5065
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Brandon Williams
>Assignee: Jonathan Ellis
> Fix For: 1.2.0 rc2
>
> Attachments: 5065.txt
>
>
> Example:
> {noformat}
> Datacenter: datacenter1
> ===
> Status=Up/Down
> |/ State=Normal/Leaving/Joining/Moving
> --  Address   Load   Tokens  Owns   Host ID   
> Rack
> UN  10.179.65.102 197.96 MB  256 0.1%   
> 6ac56251-08ff-46be-be06-5b8dd929b937  rack1
> UN  10.179.111.137209.3 MB   256 0.0%   
> aade8ef6-c907-427c-87be-a5fe05a27fa4  rack1
> UN  10.179.64.227 205.86 MB  256 0.1%   
> 4634cc80-0832-4ea1-b4a6-39ae54985206  rack1
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-5074) Add an official way to disable compaction

2012-12-18 Thread Jonathan Ellis (JIRA)
Jonathan Ellis created CASSANDRA-5074:
-

 Summary: Add an official way to disable compaction
 Key: CASSANDRA-5074
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5074
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Priority: Minor
 Fix For: 1.2.1


We've traditionally used "min or max compaction threshold = 0" to disable 
compaction, but this isn't exactly intuitive and it's inconsistently 
implemented -- allowed from jmx, not allowed from cli.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5074) Add an official way to disable compaction

2012-12-18 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5074:
---

Adding a NoCompactionStrategy may be the simplest approach.

> Add an official way to disable compaction
> -
>
> Key: CASSANDRA-5074
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5074
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jonathan Ellis
>Priority: Minor
> Fix For: 1.2.1
>
>
> We've traditionally used "min or max compaction threshold = 0" to disable 
> compaction, but this isn't exactly intuitive and it's inconsistently 
> implemented -- allowed from jmx, not allowed from cli.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4767) Need some indication of node repair success or failure

2012-12-18 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4767:
-

That look good to me overall. The only problem I see is if 2 repairs are 
started on the same node simultaneously. In that case, I think both 'nodeProbe' 
will get notified and you could get messages for repair you did started which I 
suspect would be slightly confusing. Maybe we could make the NodeProbe listener 
only listen on the command it has started (i.e. make it discard all other 
command numbers). We can't really do that with the repair command since we need 
to set up the listener before we call forceTableRepairAsync, but maybe we could 
provide a uuid in foceRepairAsync that would be sent back in the notification?

Nit:
- I'm not JMX expert, but the doc for Notification says "It is strongly 
recommended that notification senders use the object name rather than a 
reference to the MBean object as the source", but as far as I can tell, we do 
use the MBean object. No clue why this recommendation though, and everything 
seems to work correctly, just mentionning it.
- We're starting to have a bit of duplication of the forceTable* methods in 
StorageService. Ideally we could have just one async method that returns a 
future, and have the blocking version using it but wait on the future. That 
being said, if we just remove the blocking versions in 1.2 it's not a problem 
(but I don't know if we want to do that, maybe they are still useful when you 
use jconsole for instance).


> Need some indication of node repair success or failure
> --
>
> Key: CASSANDRA-4767
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4767
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Ahmed Bashir
>Assignee: Yuki Morishita
>Priority: Minor
>  Labels: jmx
> Fix For: 1.1.9
>
> Attachments: 4767-1.1.txt
>
>
> We are currently verifying node repair status via basic log analysis.  In 
> order to automatically track the status of periodic node repair jobs, it 
> would be better to have an indicator (through JMX perhaps).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4894) log number of combined/merged rows during a compaction

2012-12-18 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-4894:
-

Maybe it could use some explanation of what those number means? I had no clue 
whatsoever before looking at the source.

> log number of combined/merged rows during a compaction
> --
>
> Key: CASSANDRA-4894
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4894
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Matthew F. Dennis
>Assignee: Yuki Morishita
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 4894-1.2.txt
>
>
> we already log some details about compactions but it would be useful to know 
> how many rows were merged (resulting in "useful" work) and how many were 
> unique (representing "wasted work").
> the simple approach requires two additional counters (one for unique rows, 
> one for merged rows).  As the merge join is progressing if two or more rows 
> are combined, tick the joined counter.  If a row is simply copied tick the 
> unique counter.
> a more complete solution would be to keep a separate count for each number of 
> merges.  This would require number_of_files_being_merged counters.  If no 
> rows were merged, tick counters[0], if two rows were merged tick counters[1] 
> and so on 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4894) log number of combined/merged rows during a compaction

2012-12-18 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-4894:
---

+1

> log number of combined/merged rows during a compaction
> --
>
> Key: CASSANDRA-4894
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4894
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Matthew F. Dennis
>Assignee: Yuki Morishita
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 4894-1.2.txt
>
>
> we already log some details about compactions but it would be useful to know 
> how many rows were merged (resulting in "useful" work) and how many were 
> unique (representing "wasted work").
> the simple approach requires two additional counters (one for unique rows, 
> one for merged rows).  As the merge join is progressing if two or more rows 
> are combined, tick the joined counter.  If a row is simply copied tick the 
> unique counter.
> a more complete solution would be to keep a separate count for each number of 
> merges.  This would require number_of_files_being_merged counters.  If no 
> rows were merged, tick counters[0], if two rows were merged tick counters[1] 
> and so on 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[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] [Comment Edited] (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 edited comment on CASSANDRA-4492 at 12/18/12 3:35 PM:


{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 restart and I get hints, I get every 
sstable compacted

  was (Author: tvachon):
{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)
>

[jira] [Comment Edited] (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 edited comment on CASSANDRA-4492 at 12/18/12 3:34 PM:
-

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 for the same sstables



  was (Author: tjake):
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(Abstrac

[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] [Updated] (CASSANDRA-5053) not possible to change crc_check_chance

2012-12-18 Thread Marcus Eriksson (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-5053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcus Eriksson updated CASSANDRA-5053:
---

Attachment: 0001-CASSANDRA-5053-make-it-possible-to-change-crc_check_.patch

let me know if the double brace initialization in CompressionParameters is not 
allowed, then i'll remove it

patch against 1.1

> not possible to change crc_check_chance
> ---
>
> Key: CASSANDRA-5053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5053
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.1.1
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Minor
> Fix For: 1.1.9
>
> Attachments: 
> 0001-CASSANDRA-5053-make-it-possible-to-change-crc_check_.patch, 
> 0001-fix-CASSANDRA-5053-not-possible-to-change-crc_check_.patch
>
>
> It is not possible to change crc_check_chance using a schema modification 
> after CASSANDRA-4266
> This patch fixes that and moves the setting out into a configuration 
> parameter instead, you dont want to upgrade/scrub/.. all your sstables to 
> change the crc_check_chance.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira