[jira] [Created] (CASSANDRA-5554) Growing pending compactions

2013-05-10 Thread Oleg Anastasyev (JIRA)
Oleg Anastasyev created CASSANDRA-5554:
--

 Summary: Growing pending compactions
 Key: CASSANDRA-5554
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5554
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.4
Reporter: Oleg Anastasyev




--
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-5554) Growing pending compactions

2013-05-10 Thread Oleg Anastasyev (JIRA)

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

Oleg Anastasyev updated CASSANDRA-5554:
---

Attachment: patch.diff
pending_compactions_fixed.png

 Growing pending compactions
 ---

 Key: CASSANDRA-5554
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5554
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.4
Reporter: Oleg Anastasyev
 Attachments: patch.diff, pending_compactions_fixed.png


 I noticed on one of our new cassandra production server, that pending 
 compactions number is steadily growing. The cluster is under low write load, 
 so compactions are not keeping up is not the case.
 A quick investigation shown, that compactions are stopping far before all 
 pending tasks are completed. I also found, that if concurrent_compactors=1, 
 background compactions are not happening at all.
 The bug is in BackgroundCompactionTask rescheduling logic. The executor pool 
 room control code in CompactionManager.submitBackground() does not 
 reschedule next background cycle, if executor.getActiveCount reach maximun 
 pool size, so it is lost forever.
 So I patched it to always schedules single background cycle.

--
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-5554) Growing pending compactions

2013-05-10 Thread Oleg Anastasyev (JIRA)

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

Oleg Anastasyev updated CASSANDRA-5554:
---

Description: 
I noticed on one of our new cassandra production server, that pending 
compactions number is steadily growing. The cluster is under low write load, 
so compactions are not keeping up is not the case.

A quick investigation shown, that compactions are stopping far before all 
pending tasks are completed. I also found, that if concurrent_compactors=1, 
background compactions are not happening at all.

The bug is in BackgroundCompactionTask rescheduling logic. The executor pool 
room control code in CompactionManager.submitBackground() does not reschedule 
next background cycle, if executor.getActiveCount reach maximun pool size, so 
it is lost forever.

So I patched it to always schedules single background cycle.

 Growing pending compactions
 ---

 Key: CASSANDRA-5554
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5554
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.4
Reporter: Oleg Anastasyev
 Attachments: patch.diff, pending_compactions_fixed.png


 I noticed on one of our new cassandra production server, that pending 
 compactions number is steadily growing. The cluster is under low write load, 
 so compactions are not keeping up is not the case.
 A quick investigation shown, that compactions are stopping far before all 
 pending tasks are completed. I also found, that if concurrent_compactors=1, 
 background compactions are not happening at all.
 The bug is in BackgroundCompactionTask rescheduling logic. The executor pool 
 room control code in CompactionManager.submitBackground() does not 
 reschedule next background cycle, if executor.getActiveCount reach maximun 
 pool size, so it is lost forever.
 So I patched it to always schedules single background cycle.

--
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-5554) Growing pending compactions

2013-05-10 Thread Oleg Anastasyev (JIRA)

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

Oleg Anastasyev updated CASSANDRA-5554:
---

Description: 
I noticed on one of our new cassandra production server, that pending 
compactions number is steadily growing. The cluster is under low write load, 
so compactions are not keeping up was not the case.

A quick investigation shown, that compactions are stopping far before all 
pending tasks are completed. I also found, that if concurrent_compactors=1, 
background compactions are not happening at all.

The bug is in BackgroundCompactionTask rescheduling logic. The executor pool 
room control code in CompactionManager.submitBackground() does not reschedule 
next background cycle, if executor.getActiveCount reach maximun pool size, so 
it is lost forever.

So I patched it to always schedule single background cycle, regardless of the 
free room in executor pool.

  was:
I noticed on one of our new cassandra production server, that pending 
compactions number is steadily growing. The cluster is under low write load, 
so compactions are not keeping up is not the case.

A quick investigation shown, that compactions are stopping far before all 
pending tasks are completed. I also found, that if concurrent_compactors=1, 
background compactions are not happening at all.

The bug is in BackgroundCompactionTask rescheduling logic. The executor pool 
room control code in CompactionManager.submitBackground() does not reschedule 
next background cycle, if executor.getActiveCount reach maximun pool size, so 
it is lost forever.

So I patched it to always schedules single background cycle.


 Growing pending compactions
 ---

 Key: CASSANDRA-5554
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5554
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.4
Reporter: Oleg Anastasyev
 Attachments: patch.diff, pending_compactions_fixed.png


 I noticed on one of our new cassandra production server, that pending 
 compactions number is steadily growing. The cluster is under low write load, 
 so compactions are not keeping up was not the case.
 A quick investigation shown, that compactions are stopping far before all 
 pending tasks are completed. I also found, that if concurrent_compactors=1, 
 background compactions are not happening at all.
 The bug is in BackgroundCompactionTask rescheduling logic. The executor pool 
 room control code in CompactionManager.submitBackground() does not 
 reschedule next background cycle, if executor.getActiveCount reach maximun 
 pool size, so it is lost forever.
 So I patched it to always schedule single background cycle, regardless of the 
 free room in executor pool.

--
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-3741) OOMs because delete operations are not accounted

2013-05-10 Thread Andriy Kolyadenko (JIRA)

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

Andriy Kolyadenko updated CASSANDRA-3741:
-


Just would like to report that I have the same behavior with 1.2.4.

 OOMs because delete operations are not accounted
 

 Key: CASSANDRA-3741
 URL: https://issues.apache.org/jira/browse/CASSANDRA-3741
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.0.0
 Environment: FreeBSD
Reporter: Vitalii Tymchyshyn
Assignee: Andriy Kolyadenko
 Fix For: 1.1.1


 Currently we are moving to new data format where new format is written into 
 new CFs and old one is deleted key-by-key. 
 I have started getting OOMs and found out that delete operations are not 
 accounted and so, column families are not flushed (changed == 0 with delete 
 only operations) by storage manager.
 This is pull request that fixed this problem for me: 
 https://github.com/apache/cassandra/pull/5

--
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-5545) Add SASL authentication to CQL native protocol

2013-05-10 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe updated CASSANDRA-5545:
---

Attachment: 0001-Add-SASL-hooks-to-CQL-native-protocol.patch

As per the previous comment, the new patch extends IAuthenticator  adds a 
SaslAuthenticator interface, although this is very slightly different to the 
one Sylvain describes. It also adds a very simple SaslAuthenticator 
implementation to be used by PasswordAuthenticator. Also, a check in 
o.a.c.transport.Server.run() so that we don't inadvertedly start the server if 
it requires authentication but the configured IAuthenticator doesn't provide a 
SaslAuthenticator.

 Add SASL authentication to CQL native protocol
 --

 Key: CASSANDRA-5545
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5545
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sam Tunnicliffe
 Fix For: 2.0

 Attachments: 
 0001-Add-SASL-authentication-to-CQL-native-protocol.patch, 
 0001-Add-SASL-hooks-to-CQL-native-protocol.patch


 Adding hooks for SASL authentication would make it much easier to integrate 
 with external auth providers, such as Kerberos  NTLM.

--
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


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

2013-05-10 Thread jbellis
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/03a1fb10
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/03a1fb10
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/03a1fb10

Branch: refs/heads/trunk
Commit: 03a1fb10fbb3fdc760e607e96190dcb5691da327
Parents: 0e4bf09 c3ff774
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri May 10 08:53:34 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri May 10 08:53:34 2013 -0500

--
 NEWS.txt|4 
 conf/cassandra.yaml |4 +---
 2 files changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/03a1fb10/NEWS.txt
--

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



[2/3] git commit: enable native protocol by default

2013-05-10 Thread jbellis
enable native protocol by default


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

Branch: refs/heads/trunk
Commit: c3ff774dee93de4e64282f86556a32cbb0cab5cd
Parents: 95cf9a5
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri May 10 08:51:52 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri May 10 08:53:22 2013 -0500

--
 NEWS.txt|4 
 conf/cassandra.yaml |4 +---
 2 files changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3ff774d/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 905e7de..63d1e58 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -17,6 +17,10 @@ Features
   CQL3 documentation (http://cassandra.apache.org/doc/cql3/CQL.html)
   for details and examples.
 
+Upgrading
+-
+- The native CQL transport is enabled by default on part 9042.
+
 
 1.2.4
 =

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3ff774d/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index c386a78..cf7b139 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -330,11 +330,9 @@ listen_address: localhost
 # internode_authenticator: 
org.apache.cassandra.auth.AllowAllInternodeAuthenticator
 
 # Whether to start the native transport server.
-# Currently, only the thrift server is started by default because the native
-# transport is considered beta.
 # Please note that the address on which the native transport is bound is the
 # same as the rpc_address. The port however is different and specified below.
-start_native_transport: false
+start_native_transport: true
 # port for the CQL native transport to listen for clients on
 native_transport_port: 9042
 # The minimum and maximum threads for handling requests when the native



[1/3] git commit: enable native protocol by default

2013-05-10 Thread jbellis
Updated Branches:
  refs/heads/cassandra-1.2 95cf9a5f0 - c3ff774de
  refs/heads/trunk 0e4bf0916 - 03a1fb10f


enable native protocol by default


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

Branch: refs/heads/cassandra-1.2
Commit: c3ff774dee93de4e64282f86556a32cbb0cab5cd
Parents: 95cf9a5
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri May 10 08:51:52 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri May 10 08:53:22 2013 -0500

--
 NEWS.txt|4 
 conf/cassandra.yaml |4 +---
 2 files changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3ff774d/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 905e7de..63d1e58 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -17,6 +17,10 @@ Features
   CQL3 documentation (http://cassandra.apache.org/doc/cql3/CQL.html)
   for details and examples.
 
+Upgrading
+-
+- The native CQL transport is enabled by default on part 9042.
+
 
 1.2.4
 =

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3ff774d/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index c386a78..cf7b139 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -330,11 +330,9 @@ listen_address: localhost
 # internode_authenticator: 
org.apache.cassandra.auth.AllowAllInternodeAuthenticator
 
 # Whether to start the native transport server.
-# Currently, only the thrift server is started by default because the native
-# transport is considered beta.
 # Please note that the address on which the native transport is bound is the
 # same as the rpc_address. The port however is different and specified below.
-start_native_transport: false
+start_native_transport: true
 # port for the CQL native transport to listen for clients on
 native_transport_port: 9042
 # The minimum and maximum threads for handling requests when the native



[jira] [Created] (CASSANDRA-5555) Allow sstableloader to handle a larger number of files

2013-05-10 Thread Tyler Hobbs (JIRA)
Tyler Hobbs created CASSANDRA-:
--

 Summary: Allow sstableloader to handle a larger number of files
 Key: CASSANDRA-
 URL: https://issues.apache.org/jira/browse/CASSANDRA-
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Tyler Hobbs
Assignee: Tyler Hobbs


With the default heap size, sstableloader will OOM when there are roughly 25k 
files in the directory to load.  It's easy to reach this number of files in a 
single LCS column family.

By avoiding creating all SSTableReaders up front in SSTableLoader, we should be 
able to increase the number of files that sstableloader can handle considerably.

--
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


git commit: add 3997 to CHANGES

2013-05-10 Thread jbellis
Updated Branches:
  refs/heads/trunk 03a1fb10f - 738b127b0


add 3997 to CHANGES


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

Branch: refs/heads/trunk
Commit: 738b127b0f20a42d12793c97960e28c356b59dcb
Parents: 03a1fb1
Author: Jonathan Ellis jbel...@apache.org
Authored: Fri May 10 12:16:26 2013 -0500
Committer: Jonathan Ellis jbel...@apache.org
Committed: Fri May 10 12:16:26 2013 -0500

--
 CHANGES.txt |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/738b127b/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 42ab6d4..b1df3f4 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0
+ * JEMalloc support for off-heap allocation (CASSANDRA-3997)
  * Single-pass compaction (CASSANDRA-4180)
  * Removed token range bisection (CASSANDRA-5518)
  * Removed compatibility with pre-1.2.5 sstables and network messages



[jira] [Created] (CASSANDRA-5556) Enabling/Disabling incremental backup via nodetool

2013-05-10 Thread Pavel Margolin (JIRA)
Pavel Margolin created CASSANDRA-5556:
-

 Summary: Enabling/Disabling incremental backup via nodetool
 Key: CASSANDRA-5556
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5556
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Pavel Margolin
Priority: Trivial
 Fix For: 1.2.5


Change incremental backup setting via nodetool. In some scenarios, we'd like to 
control whether the incremental backup is switched on or off.

--
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-5556) Enabling/Disabling incremental backup via nodetool

2013-05-10 Thread Pavel Margolin (JIRA)

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

Pavel Margolin updated CASSANDRA-5556:
--

Attachment: CASSANDRA-5556.patch

 Enabling/Disabling incremental backup via nodetool
 --

 Key: CASSANDRA-5556
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5556
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Pavel Margolin
Priority: Trivial
  Labels: feature, patch
 Fix For: 1.2.5

 Attachments: CASSANDRA-5556.patch

   Original Estimate: 1h
  Remaining Estimate: 1h

 Change incremental backup setting via nodetool. In some scenarios, we'd like 
 to control whether the incremental backup is switched on or off.

--
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-5556) Enabling/Disabling incremental backup via nodetool

2013-05-10 Thread Pavel Margolin (JIRA)

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

Pavel Margolin updated CASSANDRA-5556:
--

Description: Change incremental backup setting via nodetool. In some 
scenarios, we'd like to control whether the incremental backup is switched on 
or off without redeploying  (was: Change incremental backup setting via 
nodetool. In some scenarios, we'd like to control whether the incremental 
backup is switched on or off.)

 Enabling/Disabling incremental backup via nodetool
 --

 Key: CASSANDRA-5556
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5556
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Pavel Margolin
Priority: Trivial
  Labels: feature, patch
 Fix For: 1.2.5

 Attachments: CASSANDRA-5556.patch

   Original Estimate: 1h
  Remaining Estimate: 1h

 Change incremental backup setting via nodetool. In some scenarios, we'd like 
 to control whether the incremental backup is switched on or off without 
 redeploying

--
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-5455) Remove PBSPredictor

2013-05-10 Thread Peter Bailis (JIRA)

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

Peter Bailis commented on CASSANDRA-5455:
-

I am one of the original authors of CASSANDRA-4261 and was previously unaware 
of this change. I'm happy to make any changes to the tests, perform necessary 
code refactoring, or write additional documentation (but was unable to do so 
given the window between ticket creation and commit). That is, I will maintain 
this functionality given the opportunity to do so.

Could you please elaborate on what you'd like to see fixed? I suspect they'll 
be fairly straightforward, and, if anyone knows how to fix them, I (and 
Shivaram) probably do.

If the answer is that we don't want this functionality, then that's a 
different case. But that's not what I'm getting from this ticket or 
CASSANDRA-4261 or hearing from users.

 Remove PBSPredictor
 ---

 Key: CASSANDRA-5455
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5455
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 2.0

 Attachments: 5455.txt


 It was a fun experiment, but it's unmaintained and the bar to understanding 
 what is going on is high.  Case in point: PBSTest has been failing 
 intermittently for some time now, possibly even since it was created.  Or 
 possibly not and it was a regression from a refactoring we did.  Who knows?

--
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] [Comment Edited] (CASSANDRA-5455) Remove PBSPredictor

2013-05-10 Thread Peter Bailis (JIRA)

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

Peter Bailis edited comment on CASSANDRA-5455 at 5/10/13 5:58 PM:
--

I am one of the original authors of CASSANDRA-4261 and was previously unaware 
of this change. I'm happy to make any changes to the tests, perform necessary 
code refactoring, or write additional documentation (but was unable to do so 
given the window between ticket creation and commit). That is, I will maintain 
this functionality given the opportunity to do so.

Could you please elaborate on what you'd like to see fixed? I suspect they'll 
be fairly straightforward, and, if anyone knows how to fix them, I (and 
Shivaram) probably do.

If the answer is that we don't want this functionality, then that's a 
different case. But that's not what I'm getting from this ticket or 
CASSANDRA-4261 or am hearing from users.

  was (Author: pbailis):
I am one of the original authors of CASSANDRA-4261 and was previously 
unaware of this change. I'm happy to make any changes to the tests, perform 
necessary code refactoring, or write additional documentation (but was unable 
to do so given the window between ticket creation and commit). That is, I will 
maintain this functionality given the opportunity to do so.

Could you please elaborate on what you'd like to see fixed? I suspect they'll 
be fairly straightforward, and, if anyone knows how to fix them, I (and 
Shivaram) probably do.

If the answer is that we don't want this functionality, then that's a 
different case. But that's not what I'm getting from this ticket or 
CASSANDRA-4261 or hearing from users.
  
 Remove PBSPredictor
 ---

 Key: CASSANDRA-5455
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5455
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 2.0

 Attachments: 5455.txt


 It was a fun experiment, but it's unmaintained and the bar to understanding 
 what is going on is high.  Case in point: PBSTest has been failing 
 intermittently for some time now, possibly even since it was created.  Or 
 possibly not and it was a regression from a refactoring we did.  Who knows?

--
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] [Comment Edited] (CASSANDRA-5455) Remove PBSPredictor

2013-05-10 Thread Peter Bailis (JIRA)

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

Peter Bailis edited comment on CASSANDRA-5455 at 5/10/13 5:59 PM:
--

I am one of the original authors of CASSANDRA-4261 and was previously unaware 
of this change. I'm happy to make any changes to the tests, perform necessary 
code refactoring, or write additional documentation (but was unable to do so 
given the window between ticket creation and commit). That is, I will maintain 
this functionality given the opportunity to do so.

Could you please elaborate on what you'd like to see fixed? I suspect it'll be 
fairly straightforward, and, if anyone knows how to make the changes, I (and 
Shivaram) probably do.

If the answer is that we don't want this functionality, then that's a 
different case. But that's not what I'm getting from this ticket or 
CASSANDRA-4261 or am hearing from users.

  was (Author: pbailis):
I am one of the original authors of CASSANDRA-4261 and was previously 
unaware of this change. I'm happy to make any changes to the tests, perform 
necessary code refactoring, or write additional documentation (but was unable 
to do so given the window between ticket creation and commit). That is, I will 
maintain this functionality given the opportunity to do so.

Could you please elaborate on what you'd like to see fixed? I suspect they'll 
be fairly straightforward, and, if anyone knows how to fix them, I (and 
Shivaram) probably do.

If the answer is that we don't want this functionality, then that's a 
different case. But that's not what I'm getting from this ticket or 
CASSANDRA-4261 or am hearing from users.
  
 Remove PBSPredictor
 ---

 Key: CASSANDRA-5455
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5455
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 2.0

 Attachments: 5455.txt


 It was a fun experiment, but it's unmaintained and the bar to understanding 
 what is going on is high.  Case in point: PBSTest has been failing 
 intermittently for some time now, possibly even since it was created.  Or 
 possibly not and it was a regression from a refactoring we did.  Who knows?

--
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-5455) Remove PBSPredictor

2013-05-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5455:
---

Honestly, it was probably a mistake (mine) to commit it in the first place.  In 
my defense, it's hard to say No when someone shows up with working code...  but 
I should have; it doesn't solve an actual pain point for our users, so none of 
the maintainers was motivated to get familiar enough with it to fix the kind of 
regressions we ran into.  I don't see that changing if we were to resurrect it. 
 My sincere apologies for the time you put into it.

 Remove PBSPredictor
 ---

 Key: CASSANDRA-5455
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5455
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 2.0

 Attachments: 5455.txt


 It was a fun experiment, but it's unmaintained and the bar to understanding 
 what is going on is high.  Case in point: PBSTest has been failing 
 intermittently for some time now, possibly even since it was created.  Or 
 possibly not and it was a regression from a refactoring we did.  Who knows?

--
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-5556) Enabling/Disabling incremental backup via nodetool

2013-05-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-5556:
--

Reviewer: dbrosius

 Enabling/Disabling incremental backup via nodetool
 --

 Key: CASSANDRA-5556
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5556
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Pavel Margolin
Priority: Trivial
  Labels: feature, patch
 Fix For: 1.2.5

 Attachments: CASSANDRA-5556.patch

   Original Estimate: 1h
  Remaining Estimate: 1h

 Change incremental backup setting via nodetool. In some scenarios, we'd like 
 to control whether the incremental backup is switched on or off without 
 redeploying

--
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-5455) Remove PBSPredictor

2013-05-10 Thread Rick Branson (JIRA)

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

Rick Branson commented on CASSANDRA-5455:
-

Correct me if I'm wrong, but it seems like only a small amount of the code in 
the original patch is actually necessary to have in core to satisfy the data 
requirements of doing the PBS prediction. I would love to be able to feed these 
metrics into our monitoring systems as well. Would it be acceptable to refactor 
the code to support the latency metric collection  expose them through a JMX 
call, and allow implementing the actual PBS logic in a third party tool?

 Remove PBSPredictor
 ---

 Key: CASSANDRA-5455
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5455
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 2.0

 Attachments: 5455.txt


 It was a fun experiment, but it's unmaintained and the bar to understanding 
 what is going on is high.  Case in point: PBSTest has been failing 
 intermittently for some time now, possibly even since it was created.  Or 
 possibly not and it was a regression from a refactoring we did.  Who knows?

--
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-5455) Remove PBSPredictor

2013-05-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5455:
---

I don't see why not.  Aren't these the same latency numbers that we track in 
StorageProxy?

 Remove PBSPredictor
 ---

 Key: CASSANDRA-5455
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5455
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 2.0

 Attachments: 5455.txt


 It was a fun experiment, but it's unmaintained and the bar to understanding 
 what is going on is high.  Case in point: PBSTest has been failing 
 intermittently for some time now, possibly even since it was created.  Or 
 possibly not and it was a regression from a refactoring we did.  Who knows?

--
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-5455) Remove PBSPredictor

2013-05-10 Thread Peter Bailis (JIRA)

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

Peter Bailis commented on CASSANDRA-5455:
-

I don't believe that the StorageProxy tracks the latencies according to the 
same granularity. For example, the PBS latency tracking will record both how 
long it took for the request to reach a remote replica and be processed as well 
as how long the return trip takes.

That said, it shouldn't be too difficult to either 1.) simply expose the 
recorded latencies via an optional module providing a finer granularity 
tracing interface via JMX [thereby removing all actual prediction code but 
keeping the logging in place for folks who might want this] or 2.) modifying 
StorageProxy to log these latencies in addition to the coarser granularity 
measurements it already takes.

I can provide assistance with either.

 Remove PBSPredictor
 ---

 Key: CASSANDRA-5455
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5455
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 2.0

 Attachments: 5455.txt


 It was a fun experiment, but it's unmaintained and the bar to understanding 
 what is going on is high.  Case in point: PBSTest has been failing 
 intermittently for some time now, possibly even since it was created.  Or 
 possibly not and it was a regression from a refactoring we did.  Who knows?

--
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-5455) Remove PBSPredictor

2013-05-10 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis commented on CASSANDRA-5455:
---

bq. the PBS latency tracking will record both how long it took for the request 
to reach a remote replica and be processed as well as how long the return trip 
takes.

Hmm, I don't see that happening on the 1.2 branch.  It looks to me like like 
PBS was trying to measure raw message RTT (slightly incorrectly since it was 
clicking Start when we enqueued the message rather than when we sent).  Which, 
granted, *is* different from the SP time to complete request metrics.

Would the latter be close enough?  I'd rather only track one set of mostly 
similar metrics, given the choice.

bq. modifying StorageProxy to log these latencies in addition to the coarser 
granularity measurements it already takes

I'm fine with either provide it as SPMBean methods or create a separate 
MBean that we only kick off if individual data point collection is enabled.

Should we make collection be a fraction (0..1) rather than on/off?  ISTM that 
10% or 1% of requests could provide enough information on a busy system, and 
those CLQ objects could become a contention point w/ enough cores busy.

 Remove PBSPredictor
 ---

 Key: CASSANDRA-5455
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5455
 Project: Cassandra
  Issue Type: Bug
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
 Fix For: 2.0

 Attachments: 5455.txt


 It was a fun experiment, but it's unmaintained and the bar to understanding 
 what is going on is high.  Case in point: PBSTest has been failing 
 intermittently for some time now, possibly even since it was created.  Or 
 possibly not and it was a regression from a refactoring we did.  Who knows?

--
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-5556) Enabling/Disabling incremental backup via nodetool

2013-05-10 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-5556:


Labels:   (was: feature patch)

 Enabling/Disabling incremental backup via nodetool
 --

 Key: CASSANDRA-5556
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5556
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Pavel Margolin
Priority: Trivial
 Fix For: 1.2.5

 Attachments: CASSANDRA-5556.patch

   Original Estimate: 1h
  Remaining Estimate: 1h

 Change incremental backup setting via nodetool. In some scenarios, we'd like 
 to control whether the incremental backup is switched on or off without 
 redeploying

--
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


git commit: Move CassandraServerTest.test_get_count() to thrift server tests

2013-05-10 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.1 971a95abf - ce8bc33d4


Move CassandraServerTest.test_get_count() to thrift server tests


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

Branch: refs/heads/cassandra-1.1
Commit: ce8bc33d438dc0877a2bcb0049d4c1d84db508d5
Parents: 971a95a
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat May 11 01:30:17 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat May 11 01:30:17 2013 +0300

--
 test/system/test_thrift_server.py  |   29 +
 .../cassandra/service/CassandraServerTest.java |   88 ---
 2 files changed, 29 insertions(+), 88 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce8bc33d/test/system/test_thrift_server.py
--
diff --git a/test/system/test_thrift_server.py 
b/test/system/test_thrift_server.py
index bcb75e8..8c459f2 100644
--- a/test/system/test_thrift_server.py
+++ b/test/system/test_thrift_server.py
@@ -273,6 +273,35 @@ class TestMutations(ThriftTester):
 p = SlicePredicate(slice_range=SliceRange('', '', False, 10))
 assert client.get_count('key1', ColumnParent('Standard1'), p, 
ConsistencyLevel.ONE) == 10
 
+# test get_count() to work correctly with 'count' settings around page 
size (CASSANDRA-4833)
+def test_count_around_page_size(self):
+def slice_predicate(count):
+return SlicePredicate(slice_range=SliceRange('', '', False, count))
+
+_set_keyspace('Keyspace1')
+
+key = 'key1'
+parent = ColumnParent('Standard1')
+cl = ConsistencyLevel.ONE
+
+for i in xrange(0, 3050):
+client.insert(key, parent, Column(str(i), '', 0), cl)
+
+# same as page size
+assert client.get_count(key, parent, slice_predicate(1024), cl) == 1024
+
+# 1 above page size
+assert client.get_count(key, parent, slice_predicate(1025), cl) == 1025
+
+# above number or columns
+assert client.get_count(key, parent, slice_predicate(4000), cl) == 3050
+
+# same as number of columns
+assert client.get_count(key, parent, slice_predicate(3050), cl) == 3050
+
+# 1 above number of columns
+assert client.get_count(key, parent, slice_predicate(3051), cl) == 3050
+
 def test_insert_blocking(self):
 _set_keyspace('Keyspace1')
 _insert_simple()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce8bc33d/test/unit/org/apache/cassandra/service/CassandraServerTest.java
--
diff --git a/test/unit/org/apache/cassandra/service/CassandraServerTest.java 
b/test/unit/org/apache/cassandra/service/CassandraServerTest.java
deleted file mode 100644
index 48701de..000
--- a/test/unit/org/apache/cassandra/service/CassandraServerTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-* 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.
-*/
-package org.apache.cassandra.service;
-
-import org.junit.Test;
-
-import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.Util;
-import org.apache.cassandra.config.Schema;
-import org.apache.cassandra.db.DecoratedKey;
-import org.apache.cassandra.db.RowMutation;
-import org.apache.cassandra.db.filter.QueryPath;
-import org.apache.cassandra.thrift.*;
-import org.apache.cassandra.utils.ByteBufferUtil;
-
-public class CassandraServerTest extends SchemaLoader
-{
-/**
- * test get_count() to work correctly with 'count' settings around page 
size.
- * (CASSANDRA-4833)
- */
-@Test
-public void test_get_count() throws Exception
-{
-Schema.instance.clear(); // Schema are now written on disk and will be 
reloaded
-new EmbeddedCassandraService().start();
-
-DecoratedKey key = Util.dk(testkey);
-for (int i = 0; i  3050; 

[1/3] git commit: Ninja-unify 1.1/1.2/2.0 system tests

2013-05-10 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.2 c3ff774de - 26995337b


Ninja-unify 1.1/1.2/2.0 system tests


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

Branch: refs/heads/cassandra-1.2
Commit: 971a95abfc23dd0e265d439f4d2f024d2c552370
Parents: fe910e6
Author: Aleksey Yeschenko alek...@apache.org
Authored: Mon May 6 00:59:10 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Mon May 6 00:59:10 2013 +0300

--
 test/cassandra.in.sh|2 +-
 test/system/__init__.py |8 +---
 2 files changed, 6 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/971a95ab/test/cassandra.in.sh
--
diff --git a/test/cassandra.in.sh b/test/cassandra.in.sh
index 682327f..936f47d 100644
--- a/test/cassandra.in.sh
+++ b/test/cassandra.in.sh
@@ -39,7 +39,7 @@ JVM_OPTS= \
 -Xrunjdwp:transport=dt_socket,server=y,address=8898,suspend=n \
 -Xms128M \
 -Xmx1G \
--Xss128k \
+-Xss180k \
 -XX:SurvivorRatio=8 \
 -XX:TargetSurvivorRatio=90 \
 -XX:+AggressiveOpts \

http://git-wip-us.apache.org/repos/asf/cassandra/blob/971a95ab/test/system/__init__.py
--
diff --git a/test/system/__init__.py b/test/system/__init__.py
index d9b88ee..669bf6d 100644
--- a/test/system/__init__.py
+++ b/test/system/__init__.py
@@ -65,14 +65,14 @@ class BaseTester(object):
 if os.path.exists(pid_fname):
 pid_path = os.path.join(root, pid_fname)
 print Unclean shutdown detected, (%s found) % pid_path
-sys.exit()
+raise Exception('damn it')
 
 # clean out old stuff
 import shutil
 # todo get directories from conf/cassandra.yaml
 for dirname in ['system', 'data', 'commitlog']:
 try:
-shutil.rmtree('build/test/cassandra/' + dirname)
+shutil.rmtree(os.path.join(root, 'build', 'test', 
'cassandra', dirname))
 except OSError:
 pass
 # start the server
@@ -103,7 +103,7 @@ class BaseTester(object):
 stdout_value, stderr_value = process.communicate()
 print Stdout: %s % (stdout_value)
 print Stderr: %s % (stderr_value)
-sys.exit()
+raise Exception('damn it')
 else:
 try:
 self.open_client()
@@ -132,6 +132,8 @@ class BaseTester(object):
 if not is_alive(spid):
 break
 slept += 0.5
+# Give time for cassandra to shutdown
+time.sleep(2)
 if (slept  max_wait and is_alive(spid)):
 os.kill(spid, signal.SIGKILL)
 fpath = os.path.join(root, pid_fname)



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

2013-05-10 Thread aleksey
Merge branch 'cassandra-1.1' into cassandra-1.2

Conflicts:
test/unit/org/apache/cassandra/service/CassandraServerTest.java


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

Branch: refs/heads/cassandra-1.2
Commit: 26995337b8d65f7af8eb12ef3a2c946fc4ad41c1
Parents: c3ff774 ce8bc33
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat May 11 01:37:00 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat May 11 01:37:00 2013 +0300

--
 test/system/test_thrift_server.py  |   29 +
 .../cassandra/service/CassandraServerTest.java |   91 ---
 2 files changed, 29 insertions(+), 91 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/26995337/test/system/test_thrift_server.py
--



[2/3] git commit: Move CassandraServerTest.test_get_count() to thrift server tests

2013-05-10 Thread aleksey
Move CassandraServerTest.test_get_count() to thrift server tests


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

Branch: refs/heads/cassandra-1.2
Commit: ce8bc33d438dc0877a2bcb0049d4c1d84db508d5
Parents: 971a95a
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat May 11 01:30:17 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat May 11 01:30:17 2013 +0300

--
 test/system/test_thrift_server.py  |   29 +
 .../cassandra/service/CassandraServerTest.java |   88 ---
 2 files changed, 29 insertions(+), 88 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce8bc33d/test/system/test_thrift_server.py
--
diff --git a/test/system/test_thrift_server.py 
b/test/system/test_thrift_server.py
index bcb75e8..8c459f2 100644
--- a/test/system/test_thrift_server.py
+++ b/test/system/test_thrift_server.py
@@ -273,6 +273,35 @@ class TestMutations(ThriftTester):
 p = SlicePredicate(slice_range=SliceRange('', '', False, 10))
 assert client.get_count('key1', ColumnParent('Standard1'), p, 
ConsistencyLevel.ONE) == 10
 
+# test get_count() to work correctly with 'count' settings around page 
size (CASSANDRA-4833)
+def test_count_around_page_size(self):
+def slice_predicate(count):
+return SlicePredicate(slice_range=SliceRange('', '', False, count))
+
+_set_keyspace('Keyspace1')
+
+key = 'key1'
+parent = ColumnParent('Standard1')
+cl = ConsistencyLevel.ONE
+
+for i in xrange(0, 3050):
+client.insert(key, parent, Column(str(i), '', 0), cl)
+
+# same as page size
+assert client.get_count(key, parent, slice_predicate(1024), cl) == 1024
+
+# 1 above page size
+assert client.get_count(key, parent, slice_predicate(1025), cl) == 1025
+
+# above number or columns
+assert client.get_count(key, parent, slice_predicate(4000), cl) == 3050
+
+# same as number of columns
+assert client.get_count(key, parent, slice_predicate(3050), cl) == 3050
+
+# 1 above number of columns
+assert client.get_count(key, parent, slice_predicate(3051), cl) == 3050
+
 def test_insert_blocking(self):
 _set_keyspace('Keyspace1')
 _insert_simple()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce8bc33d/test/unit/org/apache/cassandra/service/CassandraServerTest.java
--
diff --git a/test/unit/org/apache/cassandra/service/CassandraServerTest.java 
b/test/unit/org/apache/cassandra/service/CassandraServerTest.java
deleted file mode 100644
index 48701de..000
--- a/test/unit/org/apache/cassandra/service/CassandraServerTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-* 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.
-*/
-package org.apache.cassandra.service;
-
-import org.junit.Test;
-
-import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.Util;
-import org.apache.cassandra.config.Schema;
-import org.apache.cassandra.db.DecoratedKey;
-import org.apache.cassandra.db.RowMutation;
-import org.apache.cassandra.db.filter.QueryPath;
-import org.apache.cassandra.thrift.*;
-import org.apache.cassandra.utils.ByteBufferUtil;
-
-public class CassandraServerTest extends SchemaLoader
-{
-/**
- * test get_count() to work correctly with 'count' settings around page 
size.
- * (CASSANDRA-4833)
- */
-@Test
-public void test_get_count() throws Exception
-{
-Schema.instance.clear(); // Schema are now written on disk and will be 
reloaded
-new EmbeddedCassandraService().start();
-
-DecoratedKey key = Util.dk(testkey);
-for (int i = 0; i  3050; i++)
-{
-RowMutation rm = new 

[1/4] git commit: Ninja-unify 1.1/1.2/2.0 system tests

2013-05-10 Thread aleksey
Updated Branches:
  refs/heads/trunk 738b127b0 - 72231959a


Ninja-unify 1.1/1.2/2.0 system tests


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

Branch: refs/heads/trunk
Commit: 971a95abfc23dd0e265d439f4d2f024d2c552370
Parents: fe910e6
Author: Aleksey Yeschenko alek...@apache.org
Authored: Mon May 6 00:59:10 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Mon May 6 00:59:10 2013 +0300

--
 test/cassandra.in.sh|2 +-
 test/system/__init__.py |8 +---
 2 files changed, 6 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/971a95ab/test/cassandra.in.sh
--
diff --git a/test/cassandra.in.sh b/test/cassandra.in.sh
index 682327f..936f47d 100644
--- a/test/cassandra.in.sh
+++ b/test/cassandra.in.sh
@@ -39,7 +39,7 @@ JVM_OPTS= \
 -Xrunjdwp:transport=dt_socket,server=y,address=8898,suspend=n \
 -Xms128M \
 -Xmx1G \
--Xss128k \
+-Xss180k \
 -XX:SurvivorRatio=8 \
 -XX:TargetSurvivorRatio=90 \
 -XX:+AggressiveOpts \

http://git-wip-us.apache.org/repos/asf/cassandra/blob/971a95ab/test/system/__init__.py
--
diff --git a/test/system/__init__.py b/test/system/__init__.py
index d9b88ee..669bf6d 100644
--- a/test/system/__init__.py
+++ b/test/system/__init__.py
@@ -65,14 +65,14 @@ class BaseTester(object):
 if os.path.exists(pid_fname):
 pid_path = os.path.join(root, pid_fname)
 print Unclean shutdown detected, (%s found) % pid_path
-sys.exit()
+raise Exception('damn it')
 
 # clean out old stuff
 import shutil
 # todo get directories from conf/cassandra.yaml
 for dirname in ['system', 'data', 'commitlog']:
 try:
-shutil.rmtree('build/test/cassandra/' + dirname)
+shutil.rmtree(os.path.join(root, 'build', 'test', 
'cassandra', dirname))
 except OSError:
 pass
 # start the server
@@ -103,7 +103,7 @@ class BaseTester(object):
 stdout_value, stderr_value = process.communicate()
 print Stdout: %s % (stdout_value)
 print Stderr: %s % (stderr_value)
-sys.exit()
+raise Exception('damn it')
 else:
 try:
 self.open_client()
@@ -132,6 +132,8 @@ class BaseTester(object):
 if not is_alive(spid):
 break
 slept += 0.5
+# Give time for cassandra to shutdown
+time.sleep(2)
 if (slept  max_wait and is_alive(spid)):
 os.kill(spid, signal.SIGKILL)
 fpath = os.path.join(root, pid_fname)



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

2013-05-10 Thread aleksey
Merge branch 'cassandra-1.2' into trunk

Conflicts:
test/unit/org/apache/cassandra/service/CassandraServerTest.java


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

Branch: refs/heads/trunk
Commit: 72231959a622f51ee2030a9da5a56aa027328970
Parents: 738b127 2699533
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat May 11 01:52:12 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat May 11 01:52:12 2013 +0300

--
 test/system/test_thrift_server.py  |   29 +
 .../cassandra/service/CassandraServerTest.java |   88 ---
 2 files changed, 29 insertions(+), 88 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/72231959/test/system/test_thrift_server.py
--



[3/4] git commit: Merge branch 'cassandra-1.1' into cassandra-1.2

2013-05-10 Thread aleksey
Merge branch 'cassandra-1.1' into cassandra-1.2

Conflicts:
test/unit/org/apache/cassandra/service/CassandraServerTest.java


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

Branch: refs/heads/trunk
Commit: 26995337b8d65f7af8eb12ef3a2c946fc4ad41c1
Parents: c3ff774 ce8bc33
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat May 11 01:37:00 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat May 11 01:37:00 2013 +0300

--
 test/system/test_thrift_server.py  |   29 +
 .../cassandra/service/CassandraServerTest.java |   91 ---
 2 files changed, 29 insertions(+), 91 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/26995337/test/system/test_thrift_server.py
--



[2/4] git commit: Move CassandraServerTest.test_get_count() to thrift server tests

2013-05-10 Thread aleksey
Move CassandraServerTest.test_get_count() to thrift server tests


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

Branch: refs/heads/trunk
Commit: ce8bc33d438dc0877a2bcb0049d4c1d84db508d5
Parents: 971a95a
Author: Aleksey Yeschenko alek...@apache.org
Authored: Sat May 11 01:30:17 2013 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Sat May 11 01:30:17 2013 +0300

--
 test/system/test_thrift_server.py  |   29 +
 .../cassandra/service/CassandraServerTest.java |   88 ---
 2 files changed, 29 insertions(+), 88 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce8bc33d/test/system/test_thrift_server.py
--
diff --git a/test/system/test_thrift_server.py 
b/test/system/test_thrift_server.py
index bcb75e8..8c459f2 100644
--- a/test/system/test_thrift_server.py
+++ b/test/system/test_thrift_server.py
@@ -273,6 +273,35 @@ class TestMutations(ThriftTester):
 p = SlicePredicate(slice_range=SliceRange('', '', False, 10))
 assert client.get_count('key1', ColumnParent('Standard1'), p, 
ConsistencyLevel.ONE) == 10
 
+# test get_count() to work correctly with 'count' settings around page 
size (CASSANDRA-4833)
+def test_count_around_page_size(self):
+def slice_predicate(count):
+return SlicePredicate(slice_range=SliceRange('', '', False, count))
+
+_set_keyspace('Keyspace1')
+
+key = 'key1'
+parent = ColumnParent('Standard1')
+cl = ConsistencyLevel.ONE
+
+for i in xrange(0, 3050):
+client.insert(key, parent, Column(str(i), '', 0), cl)
+
+# same as page size
+assert client.get_count(key, parent, slice_predicate(1024), cl) == 1024
+
+# 1 above page size
+assert client.get_count(key, parent, slice_predicate(1025), cl) == 1025
+
+# above number or columns
+assert client.get_count(key, parent, slice_predicate(4000), cl) == 3050
+
+# same as number of columns
+assert client.get_count(key, parent, slice_predicate(3050), cl) == 3050
+
+# 1 above number of columns
+assert client.get_count(key, parent, slice_predicate(3051), cl) == 3050
+
 def test_insert_blocking(self):
 _set_keyspace('Keyspace1')
 _insert_simple()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce8bc33d/test/unit/org/apache/cassandra/service/CassandraServerTest.java
--
diff --git a/test/unit/org/apache/cassandra/service/CassandraServerTest.java 
b/test/unit/org/apache/cassandra/service/CassandraServerTest.java
deleted file mode 100644
index 48701de..000
--- a/test/unit/org/apache/cassandra/service/CassandraServerTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-* 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.
-*/
-package org.apache.cassandra.service;
-
-import org.junit.Test;
-
-import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.Util;
-import org.apache.cassandra.config.Schema;
-import org.apache.cassandra.db.DecoratedKey;
-import org.apache.cassandra.db.RowMutation;
-import org.apache.cassandra.db.filter.QueryPath;
-import org.apache.cassandra.thrift.*;
-import org.apache.cassandra.utils.ByteBufferUtil;
-
-public class CassandraServerTest extends SchemaLoader
-{
-/**
- * test get_count() to work correctly with 'count' settings around page 
size.
- * (CASSANDRA-4833)
- */
-@Test
-public void test_get_count() throws Exception
-{
-Schema.instance.clear(); // Schema are now written on disk and will be 
reloaded
-new EmbeddedCassandraService().start();
-
-DecoratedKey key = Util.dk(testkey);
-for (int i = 0; i  3050; i++)
-{
-RowMutation rm = new RowMutation(Keyspace1, 

[jira] [Commented] (CASSANDRA-5556) Enabling/Disabling incremental backup via nodetool

2013-05-10 Thread Dave Brosius (JIRA)

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

Dave Brosius commented on CASSANDRA-5556:
-

patch seems fine, the only point of note is that using nodetool enablebackup 
doesn't set the setting permanently, as the setting is not saved to the system 
tables.

 Enabling/Disabling incremental backup via nodetool
 --

 Key: CASSANDRA-5556
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5556
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Pavel Margolin
Priority: Trivial
 Fix For: 1.2.5

 Attachments: CASSANDRA-5556.patch

   Original Estimate: 1h
  Remaining Estimate: 1h

 Change incremental backup setting via nodetool. In some scenarios, we'd like 
 to control whether the incremental backup is switched on or off without 
 redeploying

--
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


git commit: avoid NPE on describe cf with no compaction strategy (local)

2013-05-10 Thread dbrosius
Updated Branches:
  refs/heads/cassandra-1.2 26995337b - d34978751


avoid NPE on describe cf with no compaction strategy (local)


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

Branch: refs/heads/cassandra-1.2
Commit: d349787515554087efc92231599e270c2c3aa29b
Parents: 2699533
Author: Dave Brosius dbros...@apache.org
Authored: Fri May 10 21:12:35 2013 -0400
Committer: Dave Brosius dbros...@apache.org
Committed: Fri May 10 21:12:35 2013 -0400

--
 src/java/org/apache/cassandra/cli/CliClient.java |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d3497875/src/java/org/apache/cassandra/cli/CliClient.java
--
diff --git a/src/java/org/apache/cassandra/cli/CliClient.java 
b/src/java/org/apache/cassandra/cli/CliClient.java
index 2767de2..fe7f02b 100644
--- a/src/java/org/apache/cassandra/cli/CliClient.java
+++ b/src/java/org/apache/cassandra/cli/CliClient.java
@@ -2209,7 +2209,7 @@ public class CliClient
 
 sessionState.out.printf(  Compaction Strategy: %s%n, 
cf_def.compaction_strategy);
 
-if (!cf_def.compaction_strategy_options.isEmpty())
+if (cf_def.compaction_strategy_options != null  
!cf_def.compaction_strategy_options.isEmpty())
 {
 sessionState.out.println(  Compaction Strategy Options:);
 for (Map.EntryString, String e : 
cf_def.compaction_strategy_options.entrySet())



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

2013-05-10 Thread dbrosius
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/aecd6301
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/aecd6301
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/aecd6301

Branch: refs/heads/trunk
Commit: aecd6301169870bff7f4fff1a0e86e0cb363bc5d
Parents: 7223195 d349787
Author: Dave Brosius dbros...@apache.org
Authored: Fri May 10 21:15:37 2013 -0400
Committer: Dave Brosius dbros...@apache.org
Committed: Fri May 10 21:15:37 2013 -0400

--
 src/java/org/apache/cassandra/cli/CliClient.java |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/aecd6301/src/java/org/apache/cassandra/cli/CliClient.java
--



[1/2] git commit: avoid NPE on describe cf with no compaction strategy (local)

2013-05-10 Thread dbrosius
Updated Branches:
  refs/heads/trunk 72231959a - aecd63011


avoid NPE on describe cf with no compaction strategy (local)


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

Branch: refs/heads/trunk
Commit: d349787515554087efc92231599e270c2c3aa29b
Parents: 2699533
Author: Dave Brosius dbros...@apache.org
Authored: Fri May 10 21:12:35 2013 -0400
Committer: Dave Brosius dbros...@apache.org
Committed: Fri May 10 21:12:35 2013 -0400

--
 src/java/org/apache/cassandra/cli/CliClient.java |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d3497875/src/java/org/apache/cassandra/cli/CliClient.java
--
diff --git a/src/java/org/apache/cassandra/cli/CliClient.java 
b/src/java/org/apache/cassandra/cli/CliClient.java
index 2767de2..fe7f02b 100644
--- a/src/java/org/apache/cassandra/cli/CliClient.java
+++ b/src/java/org/apache/cassandra/cli/CliClient.java
@@ -2209,7 +2209,7 @@ public class CliClient
 
 sessionState.out.printf(  Compaction Strategy: %s%n, 
cf_def.compaction_strategy);
 
-if (!cf_def.compaction_strategy_options.isEmpty())
+if (cf_def.compaction_strategy_options != null  
!cf_def.compaction_strategy_options.isEmpty())
 {
 sessionState.out.println(  Compaction Strategy Options:);
 for (Map.EntryString, String e : 
cf_def.compaction_strategy_options.entrySet())