[jira] [Updated] (CASSANDRA-12788) AbstractReplicationStrategy is not extendable from outside the package

2016-11-06 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa updated CASSANDRA-12788:
---
   Resolution: Fixed
Fix Version/s: (was: 3.0.x)
   (was: 3.x)
   3.10
   3.0.10
Reproduced In: 3.0.9, 2.2.8, 2.1.16, 2.0.17, 3.x  (was: 2.0.17, 2.1.16, 
2.2.8, 3.0.9, 3.x)
   Status: Resolved  (was: Patch Available)

Committed in {{f7aa37142087d93e180b7f7ef8a744543044548f}}, thanks!


> AbstractReplicationStrategy is not extendable from outside the package
> --
>
> Key: CASSANDRA-12788
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12788
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Kurt Greaves
>Assignee: Kurt Greaves
> Fix For: 3.0.10, 3.10
>
> Attachments: 12788-3.0.patch, 12788-3.10.patch, 12788-trunk.patch
>
>
> The constructor for ARS is package-private (no modifier), which means that 
> custom RS implementations cannot call it. That is, calling super(...) fails 
> unless you create your replication strategy inside 
> org.apache.cassandra.locator. This obviously isn't ideal.
> I propose adding protected to the constructor in ARS. The attached patch was 
> against trunk however I believe it should work for 2.1, 2.2, 3.0, and 3.x.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X

2016-11-06 Thread jjirsa
Merge branch 'cassandra-3.0' into cassandra-3.X


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

Branch: refs/heads/trunk
Commit: 9b429746506757ec129abfbfd13629342bf0cb70
Parents: 91208b6 f7aa371
Author: Jeff Jirsa 
Authored: Sun Nov 6 20:39:04 2016 -0800
Committer: Jeff Jirsa 
Committed: Sun Nov 6 20:42:47 2016 -0800

--
 CHANGES.txt| 1 +
 .../org/apache/cassandra/locator/AbstractReplicationStrategy.java  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9b429746/CHANGES.txt
--
diff --cc CHANGES.txt
index 47c8a1d,f708602..ab34d46
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,107 -1,8 +1,108 @@@
 -3.0.10
 +3.10
 + * Fix crossNode value when receiving messages (CASSANDRA-12791)
 + * Don't load MX4J beans twice (CASSANDRA-12869)
 + * Extend native protocol request flags, add versions to SUPPORTED, and 
introduce ProtocolVersion enum (CASSANDRA-12838)
 + * Set JOINING mode when running pre-join tasks (CASSANDRA-12836)
 + * remove net.mintern.primitive library due to license issue (CASSANDRA-12845)
 + * Properly format IPv6 addresses when logging JMX service URL 
(CASSANDRA-12454)
 + * Optimize the vnode allocation for single replica per DC (CASSANDRA-12777)
 + * Use non-token restrictions for bounds when token restrictions are 
overridden (CASSANDRA-12419)
 + * Fix CQLSH auto completion for PER PARTITION LIMIT (CASSANDRA-12803)
 + * Use different build directories for Eclipse and Ant (CASSANDRA-12466)
 + * Avoid potential AttributeError in cqlsh due to no table metadata 
(CASSANDRA-12815)
 + * Fix RandomReplicationAwareTokenAllocatorTest.testExistingCluster 
(CASSANDRA-12812)
 + * Upgrade commons-codec to 1.9 (CASSANDRA-12790)
 + * Make the fanout size for LeveledCompactionStrategy to be configurable 
(CASSANDRA-11550)
 + * Add duration data type (CASSANDRA-11873)
 + * Fix timeout in ReplicationAwareTokenAllocatorTest (CASSANDRA-12784)
 + * Improve sum aggregate functions (CASSANDRA-12417)
 + * Make cassandra.yaml docs for batch_size_*_threshold_in_kb reflect changes 
in CASSANDRA-10876 (CASSANDRA-12761)
 + * cqlsh fails to format collections when using aliases (CASSANDRA-11534)
 + * Check for hash conflicts in prepared statements (CASSANDRA-12733)
 + * Exit query parsing upon first error (CASSANDRA-12598)
 + * Fix cassandra-stress to use single seed in UUID generation 
(CASSANDRA-12729)
 + * CQLSSTableWriter does not allow Update statement (CASSANDRA-12450)
 + * Config class uses boxed types but DD exposes primitive types 
(CASSANDRA-12199)
 + * Add pre- and post-shutdown hooks to Storage Service (CASSANDRA-12461)
 + * Add hint delivery metrics (CASSANDRA-12693)
 + * Remove IndexInfo cache from FileIndexInfoRetriever (CASSANDRA-12731)
 + * ColumnIndex does not reuse buffer (CASSANDRA-12502)
 + * cdc column addition still breaks schema migration tasks (CASSANDRA-12697)
 + * Upgrade metrics-reporter dependencies (CASSANDRA-12089)
 + * Tune compaction thread count via nodetool (CASSANDRA-12248)
 + * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232)
 + * Include repair session IDs in repair start message (CASSANDRA-12532)
 + * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039)
 + * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667)
 + * Support optional backpressure strategies at the coordinator 
(CASSANDRA-9318)
 + * Make randompartitioner work with new vnode allocation (CASSANDRA-12647)
 + * Fix cassandra-stress graphing (CASSANDRA-12237)
 + * Allow filtering on partition key columns for queries without secondary 
indexes (CASSANDRA-11031)
 + * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585)
 + * Add JMH benchmarks.jar (CASSANDRA-12586)
 + * Add row offset support to SASI (CASSANDRA-11990)
 + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567)
 + * Add keep-alive to streaming (CASSANDRA-11841)
 + * Tracing payload is passed through newSession(..) (CASSANDRA-11706)
 + * avoid deleting non existing sstable files and improve related log messages 
(CASSANDRA-12261)
 + * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486)
 + * Retry all internode messages once after a connection is
 +   closed and reopened (CASSANDRA-12192)
 + * Add support to rebuild from targeted replica (CASSANDRA-9875)
 + * Add sequence distribution type to cassandra stress (CASSANDRA-12490)
 + * "SELECT * FROM foo LIMIT ;" does not error out 

[6/6] cassandra git commit: Merge branch 'cassandra-3.X' into trunk

2016-11-06 Thread jjirsa
Merge branch 'cassandra-3.X' into trunk


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

Branch: refs/heads/trunk
Commit: 0e132f4ebce58f7ba2b2194e92917d2b8243e011
Parents: 67a2a5e 9b42974
Author: Jeff Jirsa 
Authored: Sun Nov 6 20:42:59 2016 -0800
Committer: Jeff Jirsa 
Committed: Sun Nov 6 20:43:55 2016 -0800

--
 CHANGES.txt| 1 +
 .../org/apache/cassandra/locator/AbstractReplicationStrategy.java  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e132f4e/CHANGES.txt
--
diff --cc CHANGES.txt
index 913fdf0,ab34d46..446d550
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -105,8 -97,9 +105,9 @@@
   * Remove pre-startup check for open JMX port (CASSANDRA-12074)
   * Remove compaction Severity from DynamicEndpointSnitch (CASSANDRA-11738)
   * Restore resumable hints delivery (CASSANDRA-11960)
 - * Properly report LWT contention (CASSANDRA-12626)
 + * Properly record CAS contention (CASSANDRA-12626)
  Merged from 3.0:
+  * Make AbstractReplicationStrategy extendable from outside its package 
(CASSANDRA-12788)
   * Don't tell users to turn off consistent rangemovements during rebuild. 
(CASSANDRA-12296)
   * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
   * Avoid deadlock due to MV lock contention (CASSANDRA-12689)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e132f4e/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
--



[2/6] cassandra git commit: Make AbstractReplicationStrategy extendable from outside its package

2016-11-06 Thread jjirsa
Make AbstractReplicationStrategy extendable from outside its package

Patch by Kurt Greaves; Reviewed by Jeff Jirsa for CASSANDRA-12788


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

Branch: refs/heads/cassandra-3.X
Commit: f7aa37142087d93e180b7f7ef8a744543044548f
Parents: c3f24ef
Author: Kurt 
Authored: Wed Oct 19 02:34:36 2016 +
Committer: Jeff Jirsa 
Committed: Sun Nov 6 20:38:45 2016 -0800

--
 CHANGES.txt| 1 +
 .../org/apache/cassandra/locator/AbstractReplicationStrategy.java  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f7aa3714/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9d431a9..f708602 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.10
+ * Make AbstractReplicationStrategy extendable from outside its package 
(CASSANDRA-12788)
  * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
  * Don't tell users to turn off consistent rangemovements during rebuild. 
(CASSANDRA-12296)
  * Avoid deadlock due to materialized view lock contention (CASSANDRA-12689)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f7aa3714/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
--
diff --git 
a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java 
b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
index c90c6a1..b326e1c 100644
--- a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
+++ b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
@@ -60,7 +60,7 @@ public abstract class AbstractReplicationStrategy
 
 public IEndpointSnitch snitch;
 
-AbstractReplicationStrategy(String keyspaceName, TokenMetadata 
tokenMetadata, IEndpointSnitch snitch, Map configOptions)
+protected AbstractReplicationStrategy(String keyspaceName, TokenMetadata 
tokenMetadata, IEndpointSnitch snitch, Map configOptions)
 {
 assert keyspaceName != null;
 assert snitch != null;



[1/6] cassandra git commit: Make AbstractReplicationStrategy extendable from outside its package

2016-11-06 Thread jjirsa
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 c3f24ef37 -> f7aa37142
  refs/heads/cassandra-3.X 91208b66d -> 9b4297465
  refs/heads/trunk 67a2a5eb3 -> 0e132f4eb


Make AbstractReplicationStrategy extendable from outside its package

Patch by Kurt Greaves; Reviewed by Jeff Jirsa for CASSANDRA-12788


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

Branch: refs/heads/cassandra-3.0
Commit: f7aa37142087d93e180b7f7ef8a744543044548f
Parents: c3f24ef
Author: Kurt 
Authored: Wed Oct 19 02:34:36 2016 +
Committer: Jeff Jirsa 
Committed: Sun Nov 6 20:38:45 2016 -0800

--
 CHANGES.txt| 1 +
 .../org/apache/cassandra/locator/AbstractReplicationStrategy.java  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f7aa3714/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9d431a9..f708602 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.10
+ * Make AbstractReplicationStrategy extendable from outside its package 
(CASSANDRA-12788)
  * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
  * Don't tell users to turn off consistent rangemovements during rebuild. 
(CASSANDRA-12296)
  * Avoid deadlock due to materialized view lock contention (CASSANDRA-12689)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f7aa3714/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
--
diff --git 
a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java 
b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
index c90c6a1..b326e1c 100644
--- a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
+++ b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
@@ -60,7 +60,7 @@ public abstract class AbstractReplicationStrategy
 
 public IEndpointSnitch snitch;
 
-AbstractReplicationStrategy(String keyspaceName, TokenMetadata 
tokenMetadata, IEndpointSnitch snitch, Map configOptions)
+protected AbstractReplicationStrategy(String keyspaceName, TokenMetadata 
tokenMetadata, IEndpointSnitch snitch, Map configOptions)
 {
 assert keyspaceName != null;
 assert snitch != null;



[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X

2016-11-06 Thread jjirsa
Merge branch 'cassandra-3.0' into cassandra-3.X


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

Branch: refs/heads/cassandra-3.X
Commit: 9b429746506757ec129abfbfd13629342bf0cb70
Parents: 91208b6 f7aa371
Author: Jeff Jirsa 
Authored: Sun Nov 6 20:39:04 2016 -0800
Committer: Jeff Jirsa 
Committed: Sun Nov 6 20:42:47 2016 -0800

--
 CHANGES.txt| 1 +
 .../org/apache/cassandra/locator/AbstractReplicationStrategy.java  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9b429746/CHANGES.txt
--
diff --cc CHANGES.txt
index 47c8a1d,f708602..ab34d46
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,107 -1,8 +1,108 @@@
 -3.0.10
 +3.10
 + * Fix crossNode value when receiving messages (CASSANDRA-12791)
 + * Don't load MX4J beans twice (CASSANDRA-12869)
 + * Extend native protocol request flags, add versions to SUPPORTED, and 
introduce ProtocolVersion enum (CASSANDRA-12838)
 + * Set JOINING mode when running pre-join tasks (CASSANDRA-12836)
 + * remove net.mintern.primitive library due to license issue (CASSANDRA-12845)
 + * Properly format IPv6 addresses when logging JMX service URL 
(CASSANDRA-12454)
 + * Optimize the vnode allocation for single replica per DC (CASSANDRA-12777)
 + * Use non-token restrictions for bounds when token restrictions are 
overridden (CASSANDRA-12419)
 + * Fix CQLSH auto completion for PER PARTITION LIMIT (CASSANDRA-12803)
 + * Use different build directories for Eclipse and Ant (CASSANDRA-12466)
 + * Avoid potential AttributeError in cqlsh due to no table metadata 
(CASSANDRA-12815)
 + * Fix RandomReplicationAwareTokenAllocatorTest.testExistingCluster 
(CASSANDRA-12812)
 + * Upgrade commons-codec to 1.9 (CASSANDRA-12790)
 + * Make the fanout size for LeveledCompactionStrategy to be configurable 
(CASSANDRA-11550)
 + * Add duration data type (CASSANDRA-11873)
 + * Fix timeout in ReplicationAwareTokenAllocatorTest (CASSANDRA-12784)
 + * Improve sum aggregate functions (CASSANDRA-12417)
 + * Make cassandra.yaml docs for batch_size_*_threshold_in_kb reflect changes 
in CASSANDRA-10876 (CASSANDRA-12761)
 + * cqlsh fails to format collections when using aliases (CASSANDRA-11534)
 + * Check for hash conflicts in prepared statements (CASSANDRA-12733)
 + * Exit query parsing upon first error (CASSANDRA-12598)
 + * Fix cassandra-stress to use single seed in UUID generation 
(CASSANDRA-12729)
 + * CQLSSTableWriter does not allow Update statement (CASSANDRA-12450)
 + * Config class uses boxed types but DD exposes primitive types 
(CASSANDRA-12199)
 + * Add pre- and post-shutdown hooks to Storage Service (CASSANDRA-12461)
 + * Add hint delivery metrics (CASSANDRA-12693)
 + * Remove IndexInfo cache from FileIndexInfoRetriever (CASSANDRA-12731)
 + * ColumnIndex does not reuse buffer (CASSANDRA-12502)
 + * cdc column addition still breaks schema migration tasks (CASSANDRA-12697)
 + * Upgrade metrics-reporter dependencies (CASSANDRA-12089)
 + * Tune compaction thread count via nodetool (CASSANDRA-12248)
 + * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232)
 + * Include repair session IDs in repair start message (CASSANDRA-12532)
 + * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039)
 + * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667)
 + * Support optional backpressure strategies at the coordinator 
(CASSANDRA-9318)
 + * Make randompartitioner work with new vnode allocation (CASSANDRA-12647)
 + * Fix cassandra-stress graphing (CASSANDRA-12237)
 + * Allow filtering on partition key columns for queries without secondary 
indexes (CASSANDRA-11031)
 + * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585)
 + * Add JMH benchmarks.jar (CASSANDRA-12586)
 + * Add row offset support to SASI (CASSANDRA-11990)
 + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567)
 + * Add keep-alive to streaming (CASSANDRA-11841)
 + * Tracing payload is passed through newSession(..) (CASSANDRA-11706)
 + * avoid deleting non existing sstable files and improve related log messages 
(CASSANDRA-12261)
 + * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486)
 + * Retry all internode messages once after a connection is
 +   closed and reopened (CASSANDRA-12192)
 + * Add support to rebuild from targeted replica (CASSANDRA-9875)
 + * Add sequence distribution type to cassandra stress (CASSANDRA-12490)
 + * "SELECT * FROM foo LIMIT ;" does not error out 

[3/6] cassandra git commit: Make AbstractReplicationStrategy extendable from outside its package

2016-11-06 Thread jjirsa
Make AbstractReplicationStrategy extendable from outside its package

Patch by Kurt Greaves; Reviewed by Jeff Jirsa for CASSANDRA-12788


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

Branch: refs/heads/trunk
Commit: f7aa37142087d93e180b7f7ef8a744543044548f
Parents: c3f24ef
Author: Kurt 
Authored: Wed Oct 19 02:34:36 2016 +
Committer: Jeff Jirsa 
Committed: Sun Nov 6 20:38:45 2016 -0800

--
 CHANGES.txt| 1 +
 .../org/apache/cassandra/locator/AbstractReplicationStrategy.java  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f7aa3714/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9d431a9..f708602 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.10
+ * Make AbstractReplicationStrategy extendable from outside its package 
(CASSANDRA-12788)
  * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
  * Don't tell users to turn off consistent rangemovements during rebuild. 
(CASSANDRA-12296)
  * Avoid deadlock due to materialized view lock contention (CASSANDRA-12689)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f7aa3714/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
--
diff --git 
a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java 
b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
index c90c6a1..b326e1c 100644
--- a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
+++ b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
@@ -60,7 +60,7 @@ public abstract class AbstractReplicationStrategy
 
 public IEndpointSnitch snitch;
 
-AbstractReplicationStrategy(String keyspaceName, TokenMetadata 
tokenMetadata, IEndpointSnitch snitch, Map configOptions)
+protected AbstractReplicationStrategy(String keyspaceName, TokenMetadata 
tokenMetadata, IEndpointSnitch snitch, Map configOptions)
 {
 assert keyspaceName != null;
 assert snitch != null;



[jira] [Updated] (CASSANDRA-12296) system_auth can't be rebuilt by default

2016-11-06 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa updated CASSANDRA-12296:
---
   Resolution: Fixed
Fix Version/s: 3.10
   3.0.10
   Status: Resolved  (was: Patch Available)

Committed in {{c3f24ef3795a8823e63d63a473e5f68b22f134bb}}, thanks [~KurtG]!

> system_auth can't be rebuilt by default
> ---
>
> Key: CASSANDRA-12296
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12296
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Kurt Greaves
>Priority: Minor
>  Labels: lhf
> Fix For: 3.0.10, 3.10
>
> Attachments: 12296-3.0.patch, 12296.patch
>
>
> This came up in discussion of CASSANDRA-11687. {{nodetool rebuild}} was 
> failing in a dtest. [~pauloricardomg] explained:
> bq. before [CASSANDRA-11848] the local node could be considered a source, 
> while now sources are restricted only to dc2, so since {{system_auth}} uses 
> {{SimpleStrategy}} depending on the token arrangement there could or not be 
> sources from dc2. Fix is to either use 
> {{-Dcassandra.consistent.rangemovement=false}} or update {{system_auth}} to 
> use {{NetworkTopologyStrategy}} with 2 dcs..
> This is, at the very least, a UX bug. When {{rebuild}} fails, it fails with
> {code}
> nodetool: Unable to find sufficient sources for streaming range 
> (-3287869951390391138,-1624006824486474209] in keyspace system_auth with 
> RF=1.If you want to ignore this, consider using system property 
> -Dcassandra.consistent.rangemovement=false.
> {code}
> which suggests that a user should give up consistency guarantees when it's 
> not necessary.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X

2016-11-06 Thread jjirsa
Merge branch 'cassandra-3.0' into cassandra-3.X


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

Branch: refs/heads/cassandra-3.X
Commit: 91208b66db1a8ef979970ba658dd1c2bf06261b4
Parents: 80843c9 c3f24ef
Author: Jeff Jirsa 
Authored: Sun Nov 6 19:58:25 2016 -0800
Committer: Jeff Jirsa 
Committed: Sun Nov 6 20:24:05 2016 -0800

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/dht/RangeStreamer.java | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/91208b66/CHANGES.txt
--
diff --cc CHANGES.txt
index 3157e8e,9d431a9..47c8a1d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,106 -1,7 +1,107 @@@
 -3.0.10
 - * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
 +3.10
 + * Fix crossNode value when receiving messages (CASSANDRA-12791)
 + * Don't load MX4J beans twice (CASSANDRA-12869)
 + * Extend native protocol request flags, add versions to SUPPORTED, and 
introduce ProtocolVersion enum (CASSANDRA-12838)
 + * Set JOINING mode when running pre-join tasks (CASSANDRA-12836)
 + * remove net.mintern.primitive library due to license issue (CASSANDRA-12845)
 + * Properly format IPv6 addresses when logging JMX service URL 
(CASSANDRA-12454)
 + * Optimize the vnode allocation for single replica per DC (CASSANDRA-12777)
 + * Use non-token restrictions for bounds when token restrictions are 
overridden (CASSANDRA-12419)
 + * Fix CQLSH auto completion for PER PARTITION LIMIT (CASSANDRA-12803)
 + * Use different build directories for Eclipse and Ant (CASSANDRA-12466)
 + * Avoid potential AttributeError in cqlsh due to no table metadata 
(CASSANDRA-12815)
 + * Fix RandomReplicationAwareTokenAllocatorTest.testExistingCluster 
(CASSANDRA-12812)
 + * Upgrade commons-codec to 1.9 (CASSANDRA-12790)
 + * Make the fanout size for LeveledCompactionStrategy to be configurable 
(CASSANDRA-11550)
 + * Add duration data type (CASSANDRA-11873)
 + * Fix timeout in ReplicationAwareTokenAllocatorTest (CASSANDRA-12784)
 + * Improve sum aggregate functions (CASSANDRA-12417)
 + * Make cassandra.yaml docs for batch_size_*_threshold_in_kb reflect changes 
in CASSANDRA-10876 (CASSANDRA-12761)
 + * cqlsh fails to format collections when using aliases (CASSANDRA-11534)
 + * Check for hash conflicts in prepared statements (CASSANDRA-12733)
 + * Exit query parsing upon first error (CASSANDRA-12598)
 + * Fix cassandra-stress to use single seed in UUID generation 
(CASSANDRA-12729)
 + * CQLSSTableWriter does not allow Update statement (CASSANDRA-12450)
 + * Config class uses boxed types but DD exposes primitive types 
(CASSANDRA-12199)
 + * Add pre- and post-shutdown hooks to Storage Service (CASSANDRA-12461)
 + * Add hint delivery metrics (CASSANDRA-12693)
 + * Remove IndexInfo cache from FileIndexInfoRetriever (CASSANDRA-12731)
 + * ColumnIndex does not reuse buffer (CASSANDRA-12502)
 + * cdc column addition still breaks schema migration tasks (CASSANDRA-12697)
 + * Upgrade metrics-reporter dependencies (CASSANDRA-12089)
 + * Tune compaction thread count via nodetool (CASSANDRA-12248)
 + * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232)
 + * Include repair session IDs in repair start message (CASSANDRA-12532)
 + * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039)
 + * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667)
 + * Support optional backpressure strategies at the coordinator 
(CASSANDRA-9318)
 + * Make randompartitioner work with new vnode allocation (CASSANDRA-12647)
 + * Fix cassandra-stress graphing (CASSANDRA-12237)
 + * Allow filtering on partition key columns for queries without secondary 
indexes (CASSANDRA-11031)
 + * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585)
 + * Add JMH benchmarks.jar (CASSANDRA-12586)
 + * Add row offset support to SASI (CASSANDRA-11990)
 + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567)
 + * Add keep-alive to streaming (CASSANDRA-11841)
 + * Tracing payload is passed through newSession(..) (CASSANDRA-11706)
 + * avoid deleting non existing sstable files and improve related log messages 
(CASSANDRA-12261)
 + * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486)
 + * Retry all internode messages once after a connection is
 +   closed and reopened (CASSANDRA-12192)
 + * Add support to rebuild from targeted replica (CASSANDRA-9875)
 + * Add sequence distribution type to cassandra stress (CASSANDRA-12490)
 + * "SELECT * 

[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X

2016-11-06 Thread jjirsa
Merge branch 'cassandra-3.0' into cassandra-3.X


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

Branch: refs/heads/trunk
Commit: 91208b66db1a8ef979970ba658dd1c2bf06261b4
Parents: 80843c9 c3f24ef
Author: Jeff Jirsa 
Authored: Sun Nov 6 19:58:25 2016 -0800
Committer: Jeff Jirsa 
Committed: Sun Nov 6 20:24:05 2016 -0800

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/dht/RangeStreamer.java | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/91208b66/CHANGES.txt
--
diff --cc CHANGES.txt
index 3157e8e,9d431a9..47c8a1d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,106 -1,7 +1,107 @@@
 -3.0.10
 - * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
 +3.10
 + * Fix crossNode value when receiving messages (CASSANDRA-12791)
 + * Don't load MX4J beans twice (CASSANDRA-12869)
 + * Extend native protocol request flags, add versions to SUPPORTED, and 
introduce ProtocolVersion enum (CASSANDRA-12838)
 + * Set JOINING mode when running pre-join tasks (CASSANDRA-12836)
 + * remove net.mintern.primitive library due to license issue (CASSANDRA-12845)
 + * Properly format IPv6 addresses when logging JMX service URL 
(CASSANDRA-12454)
 + * Optimize the vnode allocation for single replica per DC (CASSANDRA-12777)
 + * Use non-token restrictions for bounds when token restrictions are 
overridden (CASSANDRA-12419)
 + * Fix CQLSH auto completion for PER PARTITION LIMIT (CASSANDRA-12803)
 + * Use different build directories for Eclipse and Ant (CASSANDRA-12466)
 + * Avoid potential AttributeError in cqlsh due to no table metadata 
(CASSANDRA-12815)
 + * Fix RandomReplicationAwareTokenAllocatorTest.testExistingCluster 
(CASSANDRA-12812)
 + * Upgrade commons-codec to 1.9 (CASSANDRA-12790)
 + * Make the fanout size for LeveledCompactionStrategy to be configurable 
(CASSANDRA-11550)
 + * Add duration data type (CASSANDRA-11873)
 + * Fix timeout in ReplicationAwareTokenAllocatorTest (CASSANDRA-12784)
 + * Improve sum aggregate functions (CASSANDRA-12417)
 + * Make cassandra.yaml docs for batch_size_*_threshold_in_kb reflect changes 
in CASSANDRA-10876 (CASSANDRA-12761)
 + * cqlsh fails to format collections when using aliases (CASSANDRA-11534)
 + * Check for hash conflicts in prepared statements (CASSANDRA-12733)
 + * Exit query parsing upon first error (CASSANDRA-12598)
 + * Fix cassandra-stress to use single seed in UUID generation 
(CASSANDRA-12729)
 + * CQLSSTableWriter does not allow Update statement (CASSANDRA-12450)
 + * Config class uses boxed types but DD exposes primitive types 
(CASSANDRA-12199)
 + * Add pre- and post-shutdown hooks to Storage Service (CASSANDRA-12461)
 + * Add hint delivery metrics (CASSANDRA-12693)
 + * Remove IndexInfo cache from FileIndexInfoRetriever (CASSANDRA-12731)
 + * ColumnIndex does not reuse buffer (CASSANDRA-12502)
 + * cdc column addition still breaks schema migration tasks (CASSANDRA-12697)
 + * Upgrade metrics-reporter dependencies (CASSANDRA-12089)
 + * Tune compaction thread count via nodetool (CASSANDRA-12248)
 + * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232)
 + * Include repair session IDs in repair start message (CASSANDRA-12532)
 + * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039)
 + * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667)
 + * Support optional backpressure strategies at the coordinator 
(CASSANDRA-9318)
 + * Make randompartitioner work with new vnode allocation (CASSANDRA-12647)
 + * Fix cassandra-stress graphing (CASSANDRA-12237)
 + * Allow filtering on partition key columns for queries without secondary 
indexes (CASSANDRA-11031)
 + * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585)
 + * Add JMH benchmarks.jar (CASSANDRA-12586)
 + * Add row offset support to SASI (CASSANDRA-11990)
 + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567)
 + * Add keep-alive to streaming (CASSANDRA-11841)
 + * Tracing payload is passed through newSession(..) (CASSANDRA-11706)
 + * avoid deleting non existing sstable files and improve related log messages 
(CASSANDRA-12261)
 + * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486)
 + * Retry all internode messages once after a connection is
 +   closed and reopened (CASSANDRA-12192)
 + * Add support to rebuild from targeted replica (CASSANDRA-9875)
 + * Add sequence distribution type to cassandra stress (CASSANDRA-12490)
 + * "SELECT * FROM foo 

[6/6] cassandra git commit: Merge branch 'cassandra-3.X' into trunk

2016-11-06 Thread jjirsa
Merge branch 'cassandra-3.X' into trunk


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

Branch: refs/heads/trunk
Commit: 67a2a5eb343b3cee7e74f0f64e4833ad393159ad
Parents: 9ed4fac 91208b6
Author: Jeff Jirsa 
Authored: Sun Nov 6 20:24:33 2016 -0800
Committer: Jeff Jirsa 
Committed: Sun Nov 6 20:26:15 2016 -0800

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/dht/RangeStreamer.java | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/67a2a5eb/CHANGES.txt
--
diff --cc CHANGES.txt
index 5eb2850,47c8a1d..913fdf0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -105,8 -97,9 +105,9 @@@
   * Remove pre-startup check for open JMX port (CASSANDRA-12074)
   * Remove compaction Severity from DynamicEndpointSnitch (CASSANDRA-11738)
   * Restore resumable hints delivery (CASSANDRA-11960)
 - * Properly report LWT contention (CASSANDRA-12626)
 + * Properly record CAS contention (CASSANDRA-12626)
  Merged from 3.0:
+  * Don't tell users to turn off consistent rangemovements during rebuild. 
(CASSANDRA-12296)
   * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
   * Avoid deadlock due to MV lock contention (CASSANDRA-12689)
   * Fix for KeyCacheCqlTest flakiness (CASSANDRA-12801)



[3/6] cassandra git commit: Don't tell users to turn off consistent rangemovements during rebuild.

2016-11-06 Thread jjirsa
Don't tell users to turn off consistent rangemovements during rebuild.

Patch by Kurt Greaves; reviewed by Jeff Jirsa for CASSANDRA-12296


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

Branch: refs/heads/trunk
Commit: c3f24ef3795a8823e63d63a473e5f68b22f134bb
Parents: ec64cdf
Author: Kurt 
Authored: Thu Nov 3 23:52:47 2016 +
Committer: Jeff Jirsa 
Committed: Sun Nov 6 19:58:11 2016 -0800

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/dht/RangeStreamer.java | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3f24ef3/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 51d571b..9d431a9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
 3.0.10
  * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
+ * Don't tell users to turn off consistent rangemovements during rebuild. 
(CASSANDRA-12296)
  * Avoid deadlock due to materialized view lock contention (CASSANDRA-12689)
  * Fix for KeyCacheCqlTest flakiness (CASSANDRA-12801)
  * Include SSTable filename in compacting large row message (CASSANDRA-12384)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3f24ef3/src/java/org/apache/cassandra/dht/RangeStreamer.java
--
diff --git a/src/java/org/apache/cassandra/dht/RangeStreamer.java 
b/src/java/org/apache/cassandra/dht/RangeStreamer.java
index 38282c6..32e084f 100644
--- a/src/java/org/apache/cassandra/dht/RangeStreamer.java
+++ b/src/java/org/apache/cassandra/dht/RangeStreamer.java
@@ -322,8 +322,8 @@ public class RangeStreamer
 if (strat != null && strat.getReplicationFactor() == 1)
 {
 if (useStrictConsistency)
-throw new IllegalStateException("Unable to find 
sufficient sources for streaming range " + range + " in keyspace " + keyspace + 
" with RF=1." +
-"If you want to ignore 
this, consider using system property 
-Dcassandra.consistent.rangemovement=false.");
+throw new IllegalStateException("Unable to find 
sufficient sources for streaming range " + range + " in keyspace " + keyspace + 
" with RF=1. " +
+"Ensure this keyspace 
contains replicas in the source datacenter.");
 else
 logger.warn("Unable to find sufficient sources for 
streaming range " + range + " in keyspace " + keyspace + " with RF=1. " +
 "Keyspace might be missing data.");



[2/6] cassandra git commit: Don't tell users to turn off consistent rangemovements during rebuild.

2016-11-06 Thread jjirsa
Don't tell users to turn off consistent rangemovements during rebuild.

Patch by Kurt Greaves; reviewed by Jeff Jirsa for CASSANDRA-12296


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

Branch: refs/heads/cassandra-3.X
Commit: c3f24ef3795a8823e63d63a473e5f68b22f134bb
Parents: ec64cdf
Author: Kurt 
Authored: Thu Nov 3 23:52:47 2016 +
Committer: Jeff Jirsa 
Committed: Sun Nov 6 19:58:11 2016 -0800

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/dht/RangeStreamer.java | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3f24ef3/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 51d571b..9d431a9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
 3.0.10
  * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
+ * Don't tell users to turn off consistent rangemovements during rebuild. 
(CASSANDRA-12296)
  * Avoid deadlock due to materialized view lock contention (CASSANDRA-12689)
  * Fix for KeyCacheCqlTest flakiness (CASSANDRA-12801)
  * Include SSTable filename in compacting large row message (CASSANDRA-12384)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3f24ef3/src/java/org/apache/cassandra/dht/RangeStreamer.java
--
diff --git a/src/java/org/apache/cassandra/dht/RangeStreamer.java 
b/src/java/org/apache/cassandra/dht/RangeStreamer.java
index 38282c6..32e084f 100644
--- a/src/java/org/apache/cassandra/dht/RangeStreamer.java
+++ b/src/java/org/apache/cassandra/dht/RangeStreamer.java
@@ -322,8 +322,8 @@ public class RangeStreamer
 if (strat != null && strat.getReplicationFactor() == 1)
 {
 if (useStrictConsistency)
-throw new IllegalStateException("Unable to find 
sufficient sources for streaming range " + range + " in keyspace " + keyspace + 
" with RF=1." +
-"If you want to ignore 
this, consider using system property 
-Dcassandra.consistent.rangemovement=false.");
+throw new IllegalStateException("Unable to find 
sufficient sources for streaming range " + range + " in keyspace " + keyspace + 
" with RF=1. " +
+"Ensure this keyspace 
contains replicas in the source datacenter.");
 else
 logger.warn("Unable to find sufficient sources for 
streaming range " + range + " in keyspace " + keyspace + " with RF=1. " +
 "Keyspace might be missing data.");



[1/6] cassandra git commit: Don't tell users to turn off consistent rangemovements during rebuild.

2016-11-06 Thread jjirsa
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 ec64cdf4c -> c3f24ef37
  refs/heads/cassandra-3.X 80843c987 -> 91208b66d
  refs/heads/trunk 9ed4faceb -> 67a2a5eb3


Don't tell users to turn off consistent rangemovements during rebuild.

Patch by Kurt Greaves; reviewed by Jeff Jirsa for CASSANDRA-12296


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

Branch: refs/heads/cassandra-3.0
Commit: c3f24ef3795a8823e63d63a473e5f68b22f134bb
Parents: ec64cdf
Author: Kurt 
Authored: Thu Nov 3 23:52:47 2016 +
Committer: Jeff Jirsa 
Committed: Sun Nov 6 19:58:11 2016 -0800

--
 CHANGES.txt  | 1 +
 src/java/org/apache/cassandra/dht/RangeStreamer.java | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3f24ef3/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 51d571b..9d431a9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
 3.0.10
  * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
+ * Don't tell users to turn off consistent rangemovements during rebuild. 
(CASSANDRA-12296)
  * Avoid deadlock due to materialized view lock contention (CASSANDRA-12689)
  * Fix for KeyCacheCqlTest flakiness (CASSANDRA-12801)
  * Include SSTable filename in compacting large row message (CASSANDRA-12384)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3f24ef3/src/java/org/apache/cassandra/dht/RangeStreamer.java
--
diff --git a/src/java/org/apache/cassandra/dht/RangeStreamer.java 
b/src/java/org/apache/cassandra/dht/RangeStreamer.java
index 38282c6..32e084f 100644
--- a/src/java/org/apache/cassandra/dht/RangeStreamer.java
+++ b/src/java/org/apache/cassandra/dht/RangeStreamer.java
@@ -322,8 +322,8 @@ public class RangeStreamer
 if (strat != null && strat.getReplicationFactor() == 1)
 {
 if (useStrictConsistency)
-throw new IllegalStateException("Unable to find 
sufficient sources for streaming range " + range + " in keyspace " + keyspace + 
" with RF=1." +
-"If you want to ignore 
this, consider using system property 
-Dcassandra.consistent.rangemovement=false.");
+throw new IllegalStateException("Unable to find 
sufficient sources for streaming range " + range + " in keyspace " + keyspace + 
" with RF=1. " +
+"Ensure this keyspace 
contains replicas in the source datacenter.");
 else
 logger.warn("Unable to find sufficient sources for 
streaming range " + range + " in keyspace " + keyspace + " with RF=1. " +
 "Keyspace might be missing data.");



[jira] [Commented] (CASSANDRA-11381) Node running with join_ring=false and authentication can not serve requests

2016-11-06 Thread mck (JIRA)

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

mck commented on CASSANDRA-11381:
-

[~jkni] ping…?  

> Node running with join_ring=false and authentication can not serve requests
> ---
>
> Key: CASSANDRA-11381
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11381
> Project: Cassandra
>  Issue Type: Bug
>Reporter: mck
>Assignee: mck
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
> Attachments: 11381-2.1.txt, 11381-2.2.txt, 11381-3.0.txt, 
> 11381-trunk.txt, dtest-11381-trunk.txt
>
>
> Starting up a node with {{-Dcassandra.join_ring=false}} in a cluster that has 
> authentication configured, eg PasswordAuthenticator, won't be able to serve 
> requests. This is because {{Auth.setup()}} never gets called during the 
> startup.
> Without {{Auth.setup()}} having been called in {{StorageService}} clients 
> connecting to the node fail with the node throwing
> {noformat}
> java.lang.NullPointerException
> at 
> org.apache.cassandra.auth.PasswordAuthenticator.authenticate(PasswordAuthenticator.java:119)
> at 
> org.apache.cassandra.thrift.CassandraServer.login(CassandraServer.java:1471)
> at 
> org.apache.cassandra.thrift.Cassandra$Processor$login.getResult(Cassandra.java:3505)
> at 
> org.apache.cassandra.thrift.Cassandra$Processor$login.getResult(Cassandra.java:3489)
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
> at com.thinkaurelius.thrift.Message.invoke(Message.java:314)
> at 
> com.thinkaurelius.thrift.Message$Invocation.execute(Message.java:90)
> at 
> com.thinkaurelius.thrift.TDisruptorServer$InvocationHandler.onEvent(TDisruptorServer.java:695)
> at 
> com.thinkaurelius.thrift.TDisruptorServer$InvocationHandler.onEvent(TDisruptorServer.java:689)
> at com.lmax.disruptor.WorkProcessor.run(WorkProcessor.java:112)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
> The exception thrown from the 
> [code|https://github.com/apache/cassandra/blob/cassandra-2.0.16/src/java/org/apache/cassandra/auth/PasswordAuthenticator.java#L119]
> {code}
> ResultMessage.Rows rows = 
> authenticateStatement.execute(QueryState.forInternalCalls(), new 
> QueryOptions(consistencyForUser(username),
>   
>Lists.newArrayList(ByteBufferUtil.bytes(username;
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-12296) system_auth can't be rebuilt by default

2016-11-06 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa updated CASSANDRA-12296:
---
Assignee: Kurt Greaves

> system_auth can't be rebuilt by default
> ---
>
> Key: CASSANDRA-12296
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12296
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Kurt Greaves
>Priority: Minor
>  Labels: lhf
> Attachments: 12296-3.0.patch, 12296.patch
>
>
> This came up in discussion of CASSANDRA-11687. {{nodetool rebuild}} was 
> failing in a dtest. [~pauloricardomg] explained:
> bq. before [CASSANDRA-11848] the local node could be considered a source, 
> while now sources are restricted only to dc2, so since {{system_auth}} uses 
> {{SimpleStrategy}} depending on the token arrangement there could or not be 
> sources from dc2. Fix is to either use 
> {{-Dcassandra.consistent.rangemovement=false}} or update {{system_auth}} to 
> use {{NetworkTopologyStrategy}} with 2 dcs..
> This is, at the very least, a UX bug. When {{rebuild}} fails, it fails with
> {code}
> nodetool: Unable to find sufficient sources for streaming range 
> (-3287869951390391138,-1624006824486474209] in keyspace system_auth with 
> RF=1.If you want to ignore this, consider using system property 
> -Dcassandra.consistent.rangemovement=false.
> {code}
> which suggests that a user should give up consistency guarantees when it's 
> not necessary.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-12855) Correct Spelling Errors in IEndPointSnitch JavaDocs

2016-11-06 Thread mck (JIRA)

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

mck updated CASSANDRA-12855:

Component/s: Documentation and Website

> Correct Spelling Errors in IEndPointSnitch JavaDocs
> ---
>
> Key: CASSANDRA-12855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12855
> Project: Cassandra
>  Issue Type: Task
>  Components: Distributed Metadata, Documentation and Website
>Reporter: Christopher Licata 
>Priority: Trivial
>  Labels: lhf
> Fix For: 3.x
>
>
> There are some spelling errors in the JavaDocs for IEndpointSnitch. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-12854) CommitLogTest.testDeleteIfNotDirty failed in 3.X

2016-11-06 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-12854:
-
   Resolution: Fixed
Fix Version/s: (was: 3.0.x)
   (was: 3.x)
   3.10
   3.0.10
   Status: Resolved  (was: Ready to Commit)

Thank you for the review. Committed to 3.0 as 
ec64cdf4c6b731a00bea8795247d865d6371157f and merged into 3.X and trunk.

> CommitLogTest.testDeleteIfNotDirty failed in 3.X
> 
>
> Key: CASSANDRA-12854
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12854
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 3.0.10, 3.10
>
>
> Example failure:
> http://cassci.datastax.com/view/cassandra-3.X/job/cassandra-3.X_testall/31/testReport/junit/org.apache.cassandra.db.commitlog/CommitLogTest/testDeleteIfNotDirty_3__compression/
> {code}
> expected:<1> but was:<2>
> Stacktrace
> junit.framework.AssertionFailedError: expected:<1> but was:<2>
>   at 
> org.apache.cassandra.db.commitlog.CommitLogTest.testDeleteIfNotDirty(CommitLogTest.java:305)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-12854) CommitLogTest.testDeleteIfNotDirty failed in 3.X

2016-11-06 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-12854:
-
Component/s: Testing

> CommitLogTest.testDeleteIfNotDirty failed in 3.X
> 
>
> Key: CASSANDRA-12854
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12854
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 3.0.10, 3.10
>
>
> Example failure:
> http://cassci.datastax.com/view/cassandra-3.X/job/cassandra-3.X_testall/31/testReport/junit/org.apache.cassandra.db.commitlog/CommitLogTest/testDeleteIfNotDirty_3__compression/
> {code}
> expected:<1> but was:<2>
> Stacktrace
> junit.framework.AssertionFailedError: expected:<1> but was:<2>
>   at 
> org.apache.cassandra.db.commitlog.CommitLogTest.testDeleteIfNotDirty(CommitLogTest.java:305)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[3/6] cassandra git commit: Fix CommitLogTest.testDeleteIfNotDirty

2016-11-06 Thread stefania
Fix CommitLogTest.testDeleteIfNotDirty

patch by Stefania Alborghetti; reviewed by Branimir Lambov for CASSANDRA-12854


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

Branch: refs/heads/trunk
Commit: ec64cdf4c6b731a00bea8795247d865d6371157f
Parents: 817ba03
Author: Stefania Alborghetti 
Authored: Fri Oct 28 17:25:15 2016 +0800
Committer: Stefania Alborghetti 
Committed: Mon Nov 7 10:30:15 2016 +0800

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/schema/KeyspaceParams.java | 11 ++-
 .../org/apache/cassandra/db/commitlog/CommitLogTest.java |  5 +
 3 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec64cdf4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c80e045..51d571b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.10
+ * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
  * Avoid deadlock due to materialized view lock contention (CASSANDRA-12689)
  * Fix for KeyCacheCqlTest flakiness (CASSANDRA-12801)
  * Include SSTable filename in compacting large row message (CASSANDRA-12384)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec64cdf4/src/java/org/apache/cassandra/schema/KeyspaceParams.java
--
diff --git a/src/java/org/apache/cassandra/schema/KeyspaceParams.java 
b/src/java/org/apache/cassandra/schema/KeyspaceParams.java
index c0e8916..2ea18ca 100644
--- a/src/java/org/apache/cassandra/schema/KeyspaceParams.java
+++ b/src/java/org/apache/cassandra/schema/KeyspaceParams.java
@@ -19,6 +19,7 @@ package org.apache.cassandra.schema;
 
 import java.util.Map;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Objects;
 
 /**
@@ -28,6 +29,14 @@ public final class KeyspaceParams
 {
 public static final boolean DEFAULT_DURABLE_WRITES = true;
 
+/**
+ * This determines durable writes for the {@link 
org.apache.cassandra.db.SystemKeyspace#NAME}
+ * and {@link SchemaKeyspace#NAME} keyspaces, the only reason it is not 
final is for commitlog
+ * unit tests. It should only be changed for testing purposes.
+ */
+@VisibleForTesting
+public static boolean DEFAULT_LOCAL_DURABLE_WRITES = true;
+
 public enum Option
 {
 DURABLE_WRITES,
@@ -56,7 +65,7 @@ public final class KeyspaceParams
 
 public static KeyspaceParams local()
 {
-return new KeyspaceParams(true, ReplicationParams.local());
+return new KeyspaceParams(DEFAULT_LOCAL_DURABLE_WRITES, 
ReplicationParams.local());
 }
 
 public static KeyspaceParams simple(int replicationFactor)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec64cdf4/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java 
b/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
index 9a0ddb8..c4ab6ab 100644
--- a/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
+++ b/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
@@ -97,6 +97,11 @@ public class CommitLogTest
 @BeforeClass
 public static void defineSchema() throws ConfigurationException
 {
+// Disable durable writes for system keyspaces to prevent system 
mutations, e.g. sstable_activity,
+// to end up in CL segments and cause unexpected results in this test 
wrt counting CL segments,
+// see CASSANDRA-12854
+KeyspaceParams.DEFAULT_LOCAL_DURABLE_WRITES = false;
+
 SchemaLoader.prepareServer();
 SchemaLoader.createKeyspace(KEYSPACE1,
 KeyspaceParams.simple(1),



[1/6] cassandra git commit: Fix CommitLogTest.testDeleteIfNotDirty

2016-11-06 Thread stefania
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 817ba0387 -> ec64cdf4c
  refs/heads/cassandra-3.X 9d9a1a122 -> 80843c987
  refs/heads/trunk 22a3db065 -> 9ed4faceb


Fix CommitLogTest.testDeleteIfNotDirty

patch by Stefania Alborghetti; reviewed by Branimir Lambov for CASSANDRA-12854


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

Branch: refs/heads/cassandra-3.0
Commit: ec64cdf4c6b731a00bea8795247d865d6371157f
Parents: 817ba03
Author: Stefania Alborghetti 
Authored: Fri Oct 28 17:25:15 2016 +0800
Committer: Stefania Alborghetti 
Committed: Mon Nov 7 10:30:15 2016 +0800

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/schema/KeyspaceParams.java | 11 ++-
 .../org/apache/cassandra/db/commitlog/CommitLogTest.java |  5 +
 3 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec64cdf4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c80e045..51d571b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.10
+ * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
  * Avoid deadlock due to materialized view lock contention (CASSANDRA-12689)
  * Fix for KeyCacheCqlTest flakiness (CASSANDRA-12801)
  * Include SSTable filename in compacting large row message (CASSANDRA-12384)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec64cdf4/src/java/org/apache/cassandra/schema/KeyspaceParams.java
--
diff --git a/src/java/org/apache/cassandra/schema/KeyspaceParams.java 
b/src/java/org/apache/cassandra/schema/KeyspaceParams.java
index c0e8916..2ea18ca 100644
--- a/src/java/org/apache/cassandra/schema/KeyspaceParams.java
+++ b/src/java/org/apache/cassandra/schema/KeyspaceParams.java
@@ -19,6 +19,7 @@ package org.apache.cassandra.schema;
 
 import java.util.Map;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Objects;
 
 /**
@@ -28,6 +29,14 @@ public final class KeyspaceParams
 {
 public static final boolean DEFAULT_DURABLE_WRITES = true;
 
+/**
+ * This determines durable writes for the {@link 
org.apache.cassandra.db.SystemKeyspace#NAME}
+ * and {@link SchemaKeyspace#NAME} keyspaces, the only reason it is not 
final is for commitlog
+ * unit tests. It should only be changed for testing purposes.
+ */
+@VisibleForTesting
+public static boolean DEFAULT_LOCAL_DURABLE_WRITES = true;
+
 public enum Option
 {
 DURABLE_WRITES,
@@ -56,7 +65,7 @@ public final class KeyspaceParams
 
 public static KeyspaceParams local()
 {
-return new KeyspaceParams(true, ReplicationParams.local());
+return new KeyspaceParams(DEFAULT_LOCAL_DURABLE_WRITES, 
ReplicationParams.local());
 }
 
 public static KeyspaceParams simple(int replicationFactor)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec64cdf4/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java 
b/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
index 9a0ddb8..c4ab6ab 100644
--- a/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
+++ b/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
@@ -97,6 +97,11 @@ public class CommitLogTest
 @BeforeClass
 public static void defineSchema() throws ConfigurationException
 {
+// Disable durable writes for system keyspaces to prevent system 
mutations, e.g. sstable_activity,
+// to end up in CL segments and cause unexpected results in this test 
wrt counting CL segments,
+// see CASSANDRA-12854
+KeyspaceParams.DEFAULT_LOCAL_DURABLE_WRITES = false;
+
 SchemaLoader.prepareServer();
 SchemaLoader.createKeyspace(KEYSPACE1,
 KeyspaceParams.simple(1),



[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X

2016-11-06 Thread stefania
Merge branch 'cassandra-3.0' into cassandra-3.X


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

Branch: refs/heads/cassandra-3.X
Commit: 80843c987ea3cf70aabc4def8139caf319efbc7c
Parents: 9d9a1a1 ec64cdf
Author: Stefania Alborghetti 
Authored: Mon Nov 7 10:31:29 2016 +0800
Committer: Stefania Alborghetti 
Committed: Mon Nov 7 10:32:23 2016 +0800

--
 CHANGES.txt |  1 +
 .../apache/cassandra/schema/KeyspaceParams.java | 11 +++-
 .../cassandra/db/commitlog/CommitLogTest.java   | 29 ++--
 3 files changed, 38 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/80843c98/CHANGES.txt
--
diff --cc CHANGES.txt
index 40aace3,51d571b..3157e8e
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,105 -1,6 +1,106 @@@
 -3.0.10
 +3.10
 + * Fix crossNode value when receiving messages (CASSANDRA-12791)
 + * Don't load MX4J beans twice (CASSANDRA-12869)
 + * Extend native protocol request flags, add versions to SUPPORTED, and 
introduce ProtocolVersion enum (CASSANDRA-12838)
 + * Set JOINING mode when running pre-join tasks (CASSANDRA-12836)
 + * remove net.mintern.primitive library due to license issue (CASSANDRA-12845)
 + * Properly format IPv6 addresses when logging JMX service URL 
(CASSANDRA-12454)
 + * Optimize the vnode allocation for single replica per DC (CASSANDRA-12777)
 + * Use non-token restrictions for bounds when token restrictions are 
overridden (CASSANDRA-12419)
 + * Fix CQLSH auto completion for PER PARTITION LIMIT (CASSANDRA-12803)
 + * Use different build directories for Eclipse and Ant (CASSANDRA-12466)
 + * Avoid potential AttributeError in cqlsh due to no table metadata 
(CASSANDRA-12815)
 + * Fix RandomReplicationAwareTokenAllocatorTest.testExistingCluster 
(CASSANDRA-12812)
 + * Upgrade commons-codec to 1.9 (CASSANDRA-12790)
 + * Make the fanout size for LeveledCompactionStrategy to be configurable 
(CASSANDRA-11550)
 + * Add duration data type (CASSANDRA-11873)
 + * Fix timeout in ReplicationAwareTokenAllocatorTest (CASSANDRA-12784)
 + * Improve sum aggregate functions (CASSANDRA-12417)
 + * Make cassandra.yaml docs for batch_size_*_threshold_in_kb reflect changes 
in CASSANDRA-10876 (CASSANDRA-12761)
 + * cqlsh fails to format collections when using aliases (CASSANDRA-11534)
 + * Check for hash conflicts in prepared statements (CASSANDRA-12733)
 + * Exit query parsing upon first error (CASSANDRA-12598)
 + * Fix cassandra-stress to use single seed in UUID generation 
(CASSANDRA-12729)
 + * CQLSSTableWriter does not allow Update statement (CASSANDRA-12450)
 + * Config class uses boxed types but DD exposes primitive types 
(CASSANDRA-12199)
 + * Add pre- and post-shutdown hooks to Storage Service (CASSANDRA-12461)
 + * Add hint delivery metrics (CASSANDRA-12693)
 + * Remove IndexInfo cache from FileIndexInfoRetriever (CASSANDRA-12731)
 + * ColumnIndex does not reuse buffer (CASSANDRA-12502)
 + * cdc column addition still breaks schema migration tasks (CASSANDRA-12697)
 + * Upgrade metrics-reporter dependencies (CASSANDRA-12089)
 + * Tune compaction thread count via nodetool (CASSANDRA-12248)
 + * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232)
 + * Include repair session IDs in repair start message (CASSANDRA-12532)
 + * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039)
 + * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667)
 + * Support optional backpressure strategies at the coordinator 
(CASSANDRA-9318)
 + * Make randompartitioner work with new vnode allocation (CASSANDRA-12647)
 + * Fix cassandra-stress graphing (CASSANDRA-12237)
 + * Allow filtering on partition key columns for queries without secondary 
indexes (CASSANDRA-11031)
 + * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585)
 + * Add JMH benchmarks.jar (CASSANDRA-12586)
 + * Add row offset support to SASI (CASSANDRA-11990)
 + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567)
 + * Add keep-alive to streaming (CASSANDRA-11841)
 + * Tracing payload is passed through newSession(..) (CASSANDRA-11706)
 + * avoid deleting non existing sstable files and improve related log messages 
(CASSANDRA-12261)
 + * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486)
 + * Retry all internode messages once after a connection is
 +   closed and reopened (CASSANDRA-12192)
 + * Add support to rebuild from targeted replica (CASSANDRA-9875)
 + * Add sequence distribution type to 

[2/6] cassandra git commit: Fix CommitLogTest.testDeleteIfNotDirty

2016-11-06 Thread stefania
Fix CommitLogTest.testDeleteIfNotDirty

patch by Stefania Alborghetti; reviewed by Branimir Lambov for CASSANDRA-12854


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

Branch: refs/heads/cassandra-3.X
Commit: ec64cdf4c6b731a00bea8795247d865d6371157f
Parents: 817ba03
Author: Stefania Alborghetti 
Authored: Fri Oct 28 17:25:15 2016 +0800
Committer: Stefania Alborghetti 
Committed: Mon Nov 7 10:30:15 2016 +0800

--
 CHANGES.txt  |  1 +
 src/java/org/apache/cassandra/schema/KeyspaceParams.java | 11 ++-
 .../org/apache/cassandra/db/commitlog/CommitLogTest.java |  5 +
 3 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec64cdf4/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c80e045..51d571b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.10
+ * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
  * Avoid deadlock due to materialized view lock contention (CASSANDRA-12689)
  * Fix for KeyCacheCqlTest flakiness (CASSANDRA-12801)
  * Include SSTable filename in compacting large row message (CASSANDRA-12384)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec64cdf4/src/java/org/apache/cassandra/schema/KeyspaceParams.java
--
diff --git a/src/java/org/apache/cassandra/schema/KeyspaceParams.java 
b/src/java/org/apache/cassandra/schema/KeyspaceParams.java
index c0e8916..2ea18ca 100644
--- a/src/java/org/apache/cassandra/schema/KeyspaceParams.java
+++ b/src/java/org/apache/cassandra/schema/KeyspaceParams.java
@@ -19,6 +19,7 @@ package org.apache.cassandra.schema;
 
 import java.util.Map;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Objects;
 
 /**
@@ -28,6 +29,14 @@ public final class KeyspaceParams
 {
 public static final boolean DEFAULT_DURABLE_WRITES = true;
 
+/**
+ * This determines durable writes for the {@link 
org.apache.cassandra.db.SystemKeyspace#NAME}
+ * and {@link SchemaKeyspace#NAME} keyspaces, the only reason it is not 
final is for commitlog
+ * unit tests. It should only be changed for testing purposes.
+ */
+@VisibleForTesting
+public static boolean DEFAULT_LOCAL_DURABLE_WRITES = true;
+
 public enum Option
 {
 DURABLE_WRITES,
@@ -56,7 +65,7 @@ public final class KeyspaceParams
 
 public static KeyspaceParams local()
 {
-return new KeyspaceParams(true, ReplicationParams.local());
+return new KeyspaceParams(DEFAULT_LOCAL_DURABLE_WRITES, 
ReplicationParams.local());
 }
 
 public static KeyspaceParams simple(int replicationFactor)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec64cdf4/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java 
b/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
index 9a0ddb8..c4ab6ab 100644
--- a/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
+++ b/test/unit/org/apache/cassandra/db/commitlog/CommitLogTest.java
@@ -97,6 +97,11 @@ public class CommitLogTest
 @BeforeClass
 public static void defineSchema() throws ConfigurationException
 {
+// Disable durable writes for system keyspaces to prevent system 
mutations, e.g. sstable_activity,
+// to end up in CL segments and cause unexpected results in this test 
wrt counting CL segments,
+// see CASSANDRA-12854
+KeyspaceParams.DEFAULT_LOCAL_DURABLE_WRITES = false;
+
 SchemaLoader.prepareServer();
 SchemaLoader.createKeyspace(KEYSPACE1,
 KeyspaceParams.simple(1),



[6/6] cassandra git commit: Merge branch 'cassandra-3.X' into trunk

2016-11-06 Thread stefania
Merge branch 'cassandra-3.X' into trunk


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

Branch: refs/heads/trunk
Commit: 9ed4faceb36b35a04e32d8adc4d7f7c35d6ff74d
Parents: 22a3db0 80843c9
Author: Stefania Alborghetti 
Authored: Mon Nov 7 10:33:43 2016 +0800
Committer: Stefania Alborghetti 
Committed: Mon Nov 7 10:33:43 2016 +0800

--
 CHANGES.txt |  1 +
 .../apache/cassandra/schema/KeyspaceParams.java | 11 +++-
 .../cassandra/db/commitlog/CommitLogTest.java   | 29 ++--
 3 files changed, 38 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9ed4face/CHANGES.txt
--
diff --cc CHANGES.txt
index fb16d4b,3157e8e..5eb2850
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -105,8 -97,9 +105,9 @@@
   * Remove pre-startup check for open JMX port (CASSANDRA-12074)
   * Remove compaction Severity from DynamicEndpointSnitch (CASSANDRA-11738)
   * Restore resumable hints delivery (CASSANDRA-11960)
 - * Properly report LWT contention (CASSANDRA-12626)
 + * Properly record CAS contention (CASSANDRA-12626)
  Merged from 3.0:
+  * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
   * Avoid deadlock due to MV lock contention (CASSANDRA-12689)
   * Fix for KeyCacheCqlTest flakiness (CASSANDRA-12801)
   * Include SSTable filename in compacting large row message (CASSANDRA-12384)



[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.X

2016-11-06 Thread stefania
Merge branch 'cassandra-3.0' into cassandra-3.X


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

Branch: refs/heads/trunk
Commit: 80843c987ea3cf70aabc4def8139caf319efbc7c
Parents: 9d9a1a1 ec64cdf
Author: Stefania Alborghetti 
Authored: Mon Nov 7 10:31:29 2016 +0800
Committer: Stefania Alborghetti 
Committed: Mon Nov 7 10:32:23 2016 +0800

--
 CHANGES.txt |  1 +
 .../apache/cassandra/schema/KeyspaceParams.java | 11 +++-
 .../cassandra/db/commitlog/CommitLogTest.java   | 29 ++--
 3 files changed, 38 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/80843c98/CHANGES.txt
--
diff --cc CHANGES.txt
index 40aace3,51d571b..3157e8e
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,105 -1,6 +1,106 @@@
 -3.0.10
 +3.10
 + * Fix crossNode value when receiving messages (CASSANDRA-12791)
 + * Don't load MX4J beans twice (CASSANDRA-12869)
 + * Extend native protocol request flags, add versions to SUPPORTED, and 
introduce ProtocolVersion enum (CASSANDRA-12838)
 + * Set JOINING mode when running pre-join tasks (CASSANDRA-12836)
 + * remove net.mintern.primitive library due to license issue (CASSANDRA-12845)
 + * Properly format IPv6 addresses when logging JMX service URL 
(CASSANDRA-12454)
 + * Optimize the vnode allocation for single replica per DC (CASSANDRA-12777)
 + * Use non-token restrictions for bounds when token restrictions are 
overridden (CASSANDRA-12419)
 + * Fix CQLSH auto completion for PER PARTITION LIMIT (CASSANDRA-12803)
 + * Use different build directories for Eclipse and Ant (CASSANDRA-12466)
 + * Avoid potential AttributeError in cqlsh due to no table metadata 
(CASSANDRA-12815)
 + * Fix RandomReplicationAwareTokenAllocatorTest.testExistingCluster 
(CASSANDRA-12812)
 + * Upgrade commons-codec to 1.9 (CASSANDRA-12790)
 + * Make the fanout size for LeveledCompactionStrategy to be configurable 
(CASSANDRA-11550)
 + * Add duration data type (CASSANDRA-11873)
 + * Fix timeout in ReplicationAwareTokenAllocatorTest (CASSANDRA-12784)
 + * Improve sum aggregate functions (CASSANDRA-12417)
 + * Make cassandra.yaml docs for batch_size_*_threshold_in_kb reflect changes 
in CASSANDRA-10876 (CASSANDRA-12761)
 + * cqlsh fails to format collections when using aliases (CASSANDRA-11534)
 + * Check for hash conflicts in prepared statements (CASSANDRA-12733)
 + * Exit query parsing upon first error (CASSANDRA-12598)
 + * Fix cassandra-stress to use single seed in UUID generation 
(CASSANDRA-12729)
 + * CQLSSTableWriter does not allow Update statement (CASSANDRA-12450)
 + * Config class uses boxed types but DD exposes primitive types 
(CASSANDRA-12199)
 + * Add pre- and post-shutdown hooks to Storage Service (CASSANDRA-12461)
 + * Add hint delivery metrics (CASSANDRA-12693)
 + * Remove IndexInfo cache from FileIndexInfoRetriever (CASSANDRA-12731)
 + * ColumnIndex does not reuse buffer (CASSANDRA-12502)
 + * cdc column addition still breaks schema migration tasks (CASSANDRA-12697)
 + * Upgrade metrics-reporter dependencies (CASSANDRA-12089)
 + * Tune compaction thread count via nodetool (CASSANDRA-12248)
 + * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232)
 + * Include repair session IDs in repair start message (CASSANDRA-12532)
 + * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039)
 + * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667)
 + * Support optional backpressure strategies at the coordinator 
(CASSANDRA-9318)
 + * Make randompartitioner work with new vnode allocation (CASSANDRA-12647)
 + * Fix cassandra-stress graphing (CASSANDRA-12237)
 + * Allow filtering on partition key columns for queries without secondary 
indexes (CASSANDRA-11031)
 + * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585)
 + * Add JMH benchmarks.jar (CASSANDRA-12586)
 + * Add row offset support to SASI (CASSANDRA-11990)
 + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567)
 + * Add keep-alive to streaming (CASSANDRA-11841)
 + * Tracing payload is passed through newSession(..) (CASSANDRA-11706)
 + * avoid deleting non existing sstable files and improve related log messages 
(CASSANDRA-12261)
 + * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486)
 + * Retry all internode messages once after a connection is
 +   closed and reopened (CASSANDRA-12192)
 + * Add support to rebuild from targeted replica (CASSANDRA-9875)
 + * Add sequence distribution type to cassandra 

[jira] [Updated] (CASSANDRA-12835) Tracing payload not passed from QueryMessage to tracing session

2016-11-06 Thread mck (JIRA)

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

mck updated CASSANDRA-12835:

Fix Version/s: 4.x
   3.x
   Status: Patch Available  (was: In Progress)

> Tracing payload not passed from QueryMessage to tracing session
> ---
>
> Key: CASSANDRA-12835
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12835
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Hannu Kröger
>Assignee: mck
>Priority: Critical
>  Labels: tracing
> Fix For: 3.x, 4.x
>
> Attachments: 12835-3.X.txt, 12835-trunk.txt
>
>
> Caused by CASSANDRA-10392.
> Related to CASSANDRA-11706.
> When querying using CQL statements (not prepared) the message type is 
> QueryMessage and the code in 
> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/transport/messages/QueryMessage.java#L101
>  is as follows:
> {code:java}
> if (state.traceNextQuery())
> {
> state.createTracingSession();
> ImmutableMap.Builder builder = 
> ImmutableMap.builder();
> {code}
> {{state.createTracingSession();}} should probably be 
> {{state.createTracingSession(getCustomPayload());}}. At least that fixes the 
> problem for me.
> This also raises the question whether some other parts of the code should 
> pass the custom payload as well (I'm not the right person to analyze this):
> {code}
> $ ag createTracingSession
> src/java/org/apache/cassandra/service/QueryState.java
> 80:public void createTracingSession()
> 82:createTracingSession(Collections.EMPTY_MAP);
> 85:public void createTracingSession(Map customPayload)
> src/java/org/apache/cassandra/thrift/CassandraServer.java
> 2528:state().getQueryState().createTracingSession();
> src/java/org/apache/cassandra/transport/messages/BatchMessage.java
> 163:state.createTracingSession();
> src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
> 114:state.createTracingSession(getCustomPayload());
> src/java/org/apache/cassandra/transport/messages/QueryMessage.java
> 101:state.createTracingSession();
> src/java/org/apache/cassandra/transport/messages/PrepareMessage.java
> 74:state.createTracingSession();
> {code}
> This is not marked as `minor` as the CASSANDRA-11706 was because this cannot 
> be fixed by the tracing plugin.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-12835) Tracing payload not passed from QueryMessage to tracing session

2016-11-06 Thread mck (JIRA)

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

mck updated CASSANDRA-12835:

Attachment: 12835-trunk.txt
12835-3.X.txt

Patches for 3.X and trunk.

> Tracing payload not passed from QueryMessage to tracing session
> ---
>
> Key: CASSANDRA-12835
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12835
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Hannu Kröger
>Assignee: mck
>Priority: Critical
>  Labels: tracing
> Attachments: 12835-3.X.txt, 12835-trunk.txt
>
>
> Caused by CASSANDRA-10392.
> Related to CASSANDRA-11706.
> When querying using CQL statements (not prepared) the message type is 
> QueryMessage and the code in 
> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/transport/messages/QueryMessage.java#L101
>  is as follows:
> {code:java}
> if (state.traceNextQuery())
> {
> state.createTracingSession();
> ImmutableMap.Builder builder = 
> ImmutableMap.builder();
> {code}
> {{state.createTracingSession();}} should probably be 
> {{state.createTracingSession(getCustomPayload());}}. At least that fixes the 
> problem for me.
> This also raises the question whether some other parts of the code should 
> pass the custom payload as well (I'm not the right person to analyze this):
> {code}
> $ ag createTracingSession
> src/java/org/apache/cassandra/service/QueryState.java
> 80:public void createTracingSession()
> 82:createTracingSession(Collections.EMPTY_MAP);
> 85:public void createTracingSession(Map customPayload)
> src/java/org/apache/cassandra/thrift/CassandraServer.java
> 2528:state().getQueryState().createTracingSession();
> src/java/org/apache/cassandra/transport/messages/BatchMessage.java
> 163:state.createTracingSession();
> src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
> 114:state.createTracingSession(getCustomPayload());
> src/java/org/apache/cassandra/transport/messages/QueryMessage.java
> 101:state.createTracingSession();
> src/java/org/apache/cassandra/transport/messages/PrepareMessage.java
> 74:state.createTracingSession();
> {code}
> This is not marked as `minor` as the CASSANDRA-11706 was because this cannot 
> be fixed by the tracing plugin.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-12835) Tracing payload not passed from QueryMessage to tracing session

2016-11-06 Thread mck (JIRA)

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

mck commented on CASSANDRA-12835:
-

> In lei of that, I'll add some unit tests that add a few assertions, but they 
> won't catch this specific failure.

Didn't have much luck with that either.

Will attach the patches as they are.

> Tracing payload not passed from QueryMessage to tracing session
> ---
>
> Key: CASSANDRA-12835
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12835
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Hannu Kröger
>Assignee: mck
>Priority: Critical
>  Labels: tracing
>
> Caused by CASSANDRA-10392.
> Related to CASSANDRA-11706.
> When querying using CQL statements (not prepared) the message type is 
> QueryMessage and the code in 
> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/transport/messages/QueryMessage.java#L101
>  is as follows:
> {code:java}
> if (state.traceNextQuery())
> {
> state.createTracingSession();
> ImmutableMap.Builder builder = 
> ImmutableMap.builder();
> {code}
> {{state.createTracingSession();}} should probably be 
> {{state.createTracingSession(getCustomPayload());}}. At least that fixes the 
> problem for me.
> This also raises the question whether some other parts of the code should 
> pass the custom payload as well (I'm not the right person to analyze this):
> {code}
> $ ag createTracingSession
> src/java/org/apache/cassandra/service/QueryState.java
> 80:public void createTracingSession()
> 82:createTracingSession(Collections.EMPTY_MAP);
> 85:public void createTracingSession(Map customPayload)
> src/java/org/apache/cassandra/thrift/CassandraServer.java
> 2528:state().getQueryState().createTracingSession();
> src/java/org/apache/cassandra/transport/messages/BatchMessage.java
> 163:state.createTracingSession();
> src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
> 114:state.createTracingSession(getCustomPayload());
> src/java/org/apache/cassandra/transport/messages/QueryMessage.java
> 101:state.createTracingSession();
> src/java/org/apache/cassandra/transport/messages/PrepareMessage.java
> 74:state.createTracingSession();
> {code}
> This is not marked as `minor` as the CASSANDRA-11706 was because this cannot 
> be fixed by the tracing plugin.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-12695) Truncate ALWAYS not applied

2016-11-06 Thread Alwyn Davis (JIRA)

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

Alwyn Davis commented on CASSANDRA-12695:
-

Yes, you're right; I've updated the patch.

> Truncate ALWAYS not applied
> ---
>
> Key: CASSANDRA-12695
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12695
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Alwyn Davis
>Priority: Trivial
>  Labels: stress
> Fix For: 3.x
>
> Attachments: 12695-trunk-v2.patch, 12695-trunk.patch
>
>
> If truncate is set to ALWAYS and rate sets a specific thread count, the 
> stress table is not actually truncated. E.g.
> {code}
> truncate=always -rate threads=4
> {code}
> This can cause an unexpected number of rows to be left in the table.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-12695) Truncate ALWAYS not applied

2016-11-06 Thread Alwyn Davis (JIRA)

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

Alwyn Davis updated CASSANDRA-12695:

Attachment: 12695-trunk-v2.patch

> Truncate ALWAYS not applied
> ---
>
> Key: CASSANDRA-12695
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12695
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Alwyn Davis
>Priority: Trivial
>  Labels: stress
> Fix For: 3.x
>
> Attachments: 12695-trunk-v2.patch, 12695-trunk.patch
>
>
> If truncate is set to ALWAYS and rate sets a specific thread count, the 
> stress table is not actually truncated. E.g.
> {code}
> truncate=always -rate threads=4
> {code}
> This can cause an unexpected number of rows to be left in the table.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10855) Use Caffeine (W-TinyLFU) for on-heap caches

2016-11-06 Thread Ben Manes (JIRA)

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

Ben Manes commented on CASSANDRA-10855:
---

The penalty is small. In CLHM (and Guava) we didn't have a system executor to 
exploit. The same approach is used of amortizing the maintenance work by 
buffering and replaying operations, instead of locking to perform them 
immediately. There is a slightly higher cost due to hashing for the 
{{CountMinSketch}} but overall its tiny. Using a direct executor should be fine.

Please read the [HighScalability 
article|http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html]
 for an overview of internals.

> Use Caffeine (W-TinyLFU) for on-heap caches
> ---
>
> Key: CASSANDRA-10855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10855
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Ben Manes
>  Labels: performance
> Attachments: CASSANDRA-10855.patch, CASSANDRA-10855.patch
>
>
> Cassandra currently uses 
> [ConcurrentLinkedHashMap|https://code.google.com/p/concurrentlinkedhashmap] 
> for performance critical caches (key, counter) and Guava's cache for 
> non-critical (auth, metrics, security). All of these usages have been 
> replaced by [Caffeine|https://github.com/ben-manes/caffeine], written by the 
> author of the previously mentioned libraries.
> The primary incentive is to switch from LRU policy to W-TinyLFU, which 
> provides [near optimal|https://github.com/ben-manes/caffeine/wiki/Efficiency] 
> hit rates. It performs particularly well in database and search traces, is 
> scan resistant, and as adds a very small time/space overhead to LRU.
> Secondarily, Guava's caches never obtained similar 
> [performance|https://github.com/ben-manes/caffeine/wiki/Benchmarks] to CLHM 
> due to some optimizations not being ported over. This change results in 
> faster reads and not creating garbage as a side-effect.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10855) Use Caffeine (W-TinyLFU) for on-heap caches

2016-11-06 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-10855:
--

How big is the penalty without the JFP? On an idle system FJP should give a 
latency improvement, if cost-of-task is greater than cost-of-scheduling. On a 
loaded system however, handing off work to a separate thread might add a 
penalty due to scheduling & context switching. But that is probably a 
discussion that requires knowledge how Caffeine works internally. I'm just 
cautious since I do not like to add more threads than necessary.

(If we go with FJP, the unit test needs to be fixed.)

> Use Caffeine (W-TinyLFU) for on-heap caches
> ---
>
> Key: CASSANDRA-10855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10855
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Ben Manes
>  Labels: performance
> Attachments: CASSANDRA-10855.patch, CASSANDRA-10855.patch
>
>
> Cassandra currently uses 
> [ConcurrentLinkedHashMap|https://code.google.com/p/concurrentlinkedhashmap] 
> for performance critical caches (key, counter) and Guava's cache for 
> non-critical (auth, metrics, security). All of these usages have been 
> replaced by [Caffeine|https://github.com/ben-manes/caffeine], written by the 
> author of the previously mentioned libraries.
> The primary incentive is to switch from LRU policy to W-TinyLFU, which 
> provides [near optimal|https://github.com/ben-manes/caffeine/wiki/Efficiency] 
> hit rates. It performs particularly well in database and search traces, is 
> scan resistant, and as adds a very small time/space overhead to LRU.
> Secondarily, Guava's caches never obtained similar 
> [performance|https://github.com/ben-manes/caffeine/wiki/Benchmarks] to CLHM 
> due to some optimizations not being ported over. This change results in 
> faster reads and not creating garbage as a side-effect.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10855) Use Caffeine (W-TinyLFU) for on-heap caches

2016-11-06 Thread Ben Manes (JIRA)

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

Ben Manes commented on CASSANDRA-10855:
---

{quote}
I've added .executor(MoreExecutors.directExecutor()) - hope I got your 
suggestion right.
{quote}

This is good for unit tests to remove asynchronous behavior. My preference is 
to not use it in production, especially where latencies matter, by not 
penalizing callers with maintenance or removal notification work. Instead 
deferring that to FJP should help minimize response times, which I think would 
be your preference too. I'm not familiar enough with Cassandra's testing to 
know whether its trivial to flag the executor. Usually its pretty trivial, 
especially when DI like Guice is used.

{quote}
There are a couple of cache.asMap() calls. Would it be an option to eagerly 
create the AsMapView, Values and EntrySet instances in LocalAsyncLoadingCache 
to get around the ternaries in asMap(), values(), entrySet() and keySet?
{quote}

{{LocalAsyncLoadingCache}} isn't used by Cassandra (a cache that returns 
{{CompletableFuture}}. Given the ternaries are null checks to lazily create 
views, as is common in the Java Collections, I don't think its a measurable 
penalty to keep.

{quote}
Do you have some micro-benchmarks in place to actually test against the 
previous implementation(s)?
{quote}

For concurrent throughput (JMH) see these 
[benchmarks|https://github.com/ben-manes/caffeine/wiki/Benchmarks]. They show a 
refinements over CLHM, with a primary benefit in write. Since the cache now 
supports memoization, the Cassandra APIs might benefit from using a computation 
instead of racy _get-load-put_ calls.

For hit rates see these 
[simulations|https://github.com/ben-manes/caffeine/wiki/Efficiency]. They show 
W-TinyLFU improves upon LRU by taking into account frequency.

I'll send a PR to your branch when I get a chance to go through the rest of the 
comments. Thanks!

> Use Caffeine (W-TinyLFU) for on-heap caches
> ---
>
> Key: CASSANDRA-10855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10855
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Ben Manes
>  Labels: performance
> Attachments: CASSANDRA-10855.patch, CASSANDRA-10855.patch
>
>
> Cassandra currently uses 
> [ConcurrentLinkedHashMap|https://code.google.com/p/concurrentlinkedhashmap] 
> for performance critical caches (key, counter) and Guava's cache for 
> non-critical (auth, metrics, security). All of these usages have been 
> replaced by [Caffeine|https://github.com/ben-manes/caffeine], written by the 
> author of the previously mentioned libraries.
> The primary incentive is to switch from LRU policy to W-TinyLFU, which 
> provides [near optimal|https://github.com/ben-manes/caffeine/wiki/Efficiency] 
> hit rates. It performs particularly well in database and search traces, is 
> scan resistant, and as adds a very small time/space overhead to LRU.
> Secondarily, Guava's caches never obtained similar 
> [performance|https://github.com/ben-manes/caffeine/wiki/Benchmarks] to CLHM 
> due to some optimizations not being ported over. This change results in 
> faster reads and not creating garbage as a side-effect.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10855) Use Caffeine (W-TinyLFU) for on-heap caches

2016-11-06 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-10855:
--

Alright, finally found some time to look at this.

Some comments & questions:
* I've added {{.executor(MoreExecutors.directExecutor())}} - hope I got your 
suggestion right.
* {{AuthCache}}: there's a bunch of 
{{cache.policy().refreshAfterWrite().ifPresent(}} code sequences. I guess this 
is just to use the existing API "right" so it always sets all the values, 
right? Maybe just add a line comment that all values are always set since these 
are mandatory.
* {{ConcurrentLinkedHashCache}} is no longer used in the whole code base. You 
can remove it.
* {{SerializingCache}} can you correct the typo in {{throw new 
IllegalArgumentException("Serialized size cannot be more than 2GB");}} to {{.. 
must not be more...}}
* There are a couple of {{cache.asMap()}} calls. Would it be an option to 
eagerly create the {{AsMapView}}, {{Values}} and {{EntrySet}} instances in 
{{LocalAsyncLoadingCache}} to get around the ternaries in {{asMap()}}, 
{{values()}}, {{entrySet()}} and {{keySet}}?

Beside these, I've got no comments. Pretty straight forward change. Good work 
so far!

Triggered a new CI round with the changes mentioned above.
Do you have some micro-benchmarks in place to actually test against the 
previous implementation(s)? If [~benedict] (IIRC he already worked on Caffeine) 
says it buys us something, I'd be fine omitting the benchmarks.

When you wanna change something, can you fork from my branch? This makes 
merging and checking changes easier.

Regarding OHC, I'd need to fully understand Caffeine internals, i.e. the 
eviction algorithm, first. Mind opening a ticket for OHC on gh?

> Use Caffeine (W-TinyLFU) for on-heap caches
> ---
>
> Key: CASSANDRA-10855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10855
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Ben Manes
>  Labels: performance
> Attachments: CASSANDRA-10855.patch, CASSANDRA-10855.patch
>
>
> Cassandra currently uses 
> [ConcurrentLinkedHashMap|https://code.google.com/p/concurrentlinkedhashmap] 
> for performance critical caches (key, counter) and Guava's cache for 
> non-critical (auth, metrics, security). All of these usages have been 
> replaced by [Caffeine|https://github.com/ben-manes/caffeine], written by the 
> author of the previously mentioned libraries.
> The primary incentive is to switch from LRU policy to W-TinyLFU, which 
> provides [near optimal|https://github.com/ben-manes/caffeine/wiki/Efficiency] 
> hit rates. It performs particularly well in database and search traces, is 
> scan resistant, and as adds a very small time/space overhead to LRU.
> Secondarily, Guava's caches never obtained similar 
> [performance|https://github.com/ben-manes/caffeine/wiki/Benchmarks] to CLHM 
> due to some optimizations not being ported over. This change results in 
> faster reads and not creating garbage as a side-effect.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (CASSANDRA-12877) SASI index throwing AssertionError on creation/flush

2016-11-06 Thread Alex Petrov (JIRA)

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

Alex Petrov reassigned CASSANDRA-12877:
---

Assignee: Alex Petrov

> SASI index throwing AssertionError on creation/flush
> 
>
> Key: CASSANDRA-12877
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12877
> Project: Cassandra
>  Issue Type: Bug
>  Components: sasi
> Environment: 3.9 and 3.10 tested on both linux and osx
>Reporter: Voytek Jarnot
>Assignee: Alex Petrov
>
> Possibly a 3.10 regression?  The exact test shown below does not error in 3.9.
> I built and installed a 3.10 snapshot (built 04-Nov-2016) to get around 
> CASSANDRA-11670, CASSANDRA-12689, and CASSANDRA-12223 which are holding me 
> back when using 3.9.
> Now I'm able to make nodetool flush (or a scheduled flush) produce an 
> unhandled error easily with a SASI:
> {code}
> CREATE KEYSPACE vjtest WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'};
> use vjtest ;
> create table tester(id1 text, id2 text, id3 text, val1 text, primary 
> key((id1, id2), id3));
> create custom index tester_idx_val1 on tester(val1) using 
> 'org.apache.cassandra.index.sasi.SASIIndex';
> insert into tester(id1,id2,id3, val1) values ('1-1','1-2','1-3','asdf');
> insert into tester(id1,id2,id3, val1) values ('1-1','1-2','2-3','asdf');
> insert into tester(id1,id2,id3, val1) values ('1-1','1-2','3-3','asdf');
> insert into tester(id1,id2,id3, val1) values ('1-1','1-2','4-3','asdf');
> insert into tester(id1,id2,id3, val1) values ('1-1','1-2','5-3','asdf');
> insert into tester(id1,id2,id3, val1) values ('1-1','1-2','6-3','asdf');
> insert into tester(id1,id2,id3, val1) values ('1-1','1-2','7-3','asdf');
> insert into tester(id1,id2,id3, val1) values ('1-1','1-2','8-3','asdf');
> insert into tester(id1,id2,id3, val1) values ('1-1','1-2','9-3','asdf');
> {code}
> Not enough going on here to trigger a flush, so following a manual {{nodetool 
> flush vjtest}} I get the following in {{system.log}}:
> {code}
> INFO  [MemtableFlushWriter:3] 2016-11-04 22:19:35,412 
> PerSSTableIndexWriter.java:284 - Scheduling index flush to 
> /mydir/apache-cassandra-3.10-SNAPSHOT/data/data/vjtest/tester-6f1fdff0a30611e692c087673c5ef8d4/mc-1-big-SI_tester_idx_val1.db
> INFO  [SASI-Memtable:1] 2016-11-04 22:19:35,447 
> PerSSTableIndexWriter.java:335 - Index flush to 
> /mydir/apache-cassandra-3.10-SNAPSHOT/data/data/vjtest/tester-6f1fdff0a30611e692c087673c5ef8d4/mc-1-big-SI_tester_idx_val1.db
>  took 16 ms.
> ERROR [SASI-Memtable:1] 2016-11-04 22:19:35,449 CassandraDaemon.java:229 - 
> Exception in thread Thread[SASI-Memtable:1,5,RMI Runtime]
> java.lang.AssertionError: cannot have more than 8 overflow collisions per 
> leaf, but had: 9
> at 
> org.apache.cassandra.index.sasi.disk.AbstractTokenTreeBuilder$Leaf.createOverflowEntry(AbstractTokenTreeBuilder.java:357)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
> org.apache.cassandra.index.sasi.disk.AbstractTokenTreeBuilder$Leaf.createEntry(AbstractTokenTreeBuilder.java:346)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
> org.apache.cassandra.index.sasi.disk.DynamicTokenTreeBuilder$DynamicLeaf.serializeData(DynamicTokenTreeBuilder.java:180)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
> org.apache.cassandra.index.sasi.disk.AbstractTokenTreeBuilder$Leaf.serialize(AbstractTokenTreeBuilder.java:306)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
> org.apache.cassandra.index.sasi.disk.AbstractTokenTreeBuilder.write(AbstractTokenTreeBuilder.java:90)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
> org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder$MutableDataBlock.flushAndClear(OnDiskIndexBuilder.java:629)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
> org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder$MutableLevel.flush(OnDiskIndexBuilder.java:446)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
> org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder$MutableLevel.finalFlush(OnDiskIndexBuilder.java:451)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
> org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:296)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
> org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:258)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
> org.apache.cassandra.index.sasi.disk.OnDiskIndexBuilder.finish(OnDiskIndexBuilder.java:241)
>  ~[apache-cassandra-3.10-SNAPSHOT.jar:3.10-SNAPSHOT]
> at 
>