[jira] [Updated] (CASSANDRA-12788) AbstractReplicationStrategy is not extendable from outside the package
[ 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
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 JirsaAuthored: 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
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 JirsaAuthored: 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
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: KurtAuthored: 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
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: KurtAuthored: 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
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 JirsaAuthored: 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
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: KurtAuthored: 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
[ 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
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 JirsaAuthored: 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
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 JirsaAuthored: 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
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 JirsaAuthored: 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.
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: KurtAuthored: 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.
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: KurtAuthored: 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.
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: KurtAuthored: 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
[ 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
[ 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
[ 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
[ 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
[ 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
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 AlborghettiAuthored: 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
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 AlborghettiAuthored: 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
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 AlborghettiAuthored: 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
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 AlborghettiAuthored: 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
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 AlborghettiAuthored: 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
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 AlborghettiAuthored: 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
[ 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.Builderbuilder = > 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
[ 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.Builderbuilder = > 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
[ 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.Builderbuilder = > 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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 >