You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ca...@apache.org on 2016/07/26 14:00:48 UTC
[1/6] cassandra git commit: Disable RR and speculative retry with
EACH_QUORUM reads
Repository: cassandra
Updated Branches:
refs/heads/cassandra-3.0 0bb133e39 -> 6105da3f5
refs/heads/cassandra-3.9 79fbdbe6c -> 67909ea84
refs/heads/trunk d8ca69c01 -> accf7a472
Disable RR and speculative retry with EACH_QUORUM reads
Patch by Carl Yeksigian; reviewed by Aleksey Yeschenko for CASSANDRA-11980
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6105da3f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6105da3f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6105da3f
Branch: refs/heads/cassandra-3.0
Commit: 6105da3f5875bee3d8d7ca9db21348ad20cdeaba
Parents: 0bb133e
Author: Carl Yeksigian <ca...@apache.org>
Authored: Tue Jul 26 09:58:06 2016 -0400
Committer: Carl Yeksigian <ca...@apache.org>
Committed: Tue Jul 26 09:58:06 2016 -0400
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/service/AbstractReadExecutor.java | 10 ++++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6105da3f/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 342382e..3c485dd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0.9
+ * Disable RR and speculative retry with EACH_QUORUM reads (CASSANDRA-11980)
* Add option to override compaction space check (CASSANDRA-12180)
* Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114)
* Respond with v1/v2 protocol header when responding to driver that attempts
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6105da3f/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/AbstractReadExecutor.java b/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
index 05fa437..cae1f1a 100644
--- a/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
+++ b/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
@@ -152,7 +152,10 @@ public abstract class AbstractReadExecutor
{
Keyspace keyspace = Keyspace.open(command.metadata().ksName);
List<InetAddress> allReplicas = StorageProxy.getLiveSortedEndpoints(keyspace, command.partitionKey());
- ReadRepairDecision repairDecision = command.metadata().newReadRepairDecision();
+ // 11980: Excluding EACH_QUORUM reads from potential RR, so that we do not miscount DC responses
+ ReadRepairDecision repairDecision = consistencyLevel == ConsistencyLevel.EACH_QUORUM
+ ? ReadRepairDecision.NONE
+ : command.metadata().newReadRepairDecision();
List<InetAddress> targetReplicas = consistencyLevel.filterForQuery(keyspace, allReplicas, repairDecision);
// Throw UAE early if we don't have enough replicas.
@@ -168,7 +171,10 @@ public abstract class AbstractReadExecutor
SpeculativeRetryParam retry = cfs.metadata.params.speculativeRetry;
// Speculative retry is disabled *OR* there are simply no extra replicas to speculate.
- if (retry.equals(SpeculativeRetryParam.NONE) || consistencyLevel.blockFor(keyspace) == allReplicas.size())
+ // 11980: Disable speculative retry if using EACH_QUORUM in order to prevent miscounting DC responses
+ if (retry.equals(SpeculativeRetryParam.NONE)
+ || consistencyLevel == ConsistencyLevel.EACH_QUORUM
+ || consistencyLevel.blockFor(keyspace) == allReplicas.size())
return new NeverSpeculatingReadExecutor(keyspace, command, consistencyLevel, targetReplicas);
if (targetReplicas.size() == allReplicas.size())
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.9
Posted by ca...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.9
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67909ea8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67909ea8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67909ea8
Branch: refs/heads/cassandra-3.9
Commit: 67909ea84caf296a24a183d3fb86f9131ccef3d0
Parents: 79fbdbe 6105da3
Author: Carl Yeksigian <ca...@apache.org>
Authored: Tue Jul 26 09:59:15 2016 -0400
Committer: Carl Yeksigian <ca...@apache.org>
Committed: Tue Jul 26 09:59:15 2016 -0400
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/service/AbstractReadExecutor.java | 10 ++++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/67909ea8/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 2f7d2d3,3c485dd..50f7a6d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,7 -1,5 +1,8 @@@
-3.0.9
+3.9
+ * cqlsh: Fix handling of $$-escaped strings (CASSANDRA-12189)
+ * Fix SSL JMX requiring truststore containing server cert (CASSANDRA-12109)
+Merged from 3.0:
+ * Disable RR and speculative retry with EACH_QUORUM reads (CASSANDRA-11980)
* Add option to override compaction space check (CASSANDRA-12180)
* Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114)
* Respond with v1/v2 protocol header when responding to driver that attempts
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.9
Posted by ca...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.9
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67909ea8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67909ea8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67909ea8
Branch: refs/heads/trunk
Commit: 67909ea84caf296a24a183d3fb86f9131ccef3d0
Parents: 79fbdbe 6105da3
Author: Carl Yeksigian <ca...@apache.org>
Authored: Tue Jul 26 09:59:15 2016 -0400
Committer: Carl Yeksigian <ca...@apache.org>
Committed: Tue Jul 26 09:59:15 2016 -0400
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/service/AbstractReadExecutor.java | 10 ++++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/67909ea8/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 2f7d2d3,3c485dd..50f7a6d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,7 -1,5 +1,8 @@@
-3.0.9
+3.9
+ * cqlsh: Fix handling of $$-escaped strings (CASSANDRA-12189)
+ * Fix SSL JMX requiring truststore containing server cert (CASSANDRA-12109)
+Merged from 3.0:
+ * Disable RR and speculative retry with EACH_QUORUM reads (CASSANDRA-11980)
* Add option to override compaction space check (CASSANDRA-12180)
* Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114)
* Respond with v1/v2 protocol header when responding to driver that attempts
[6/6] cassandra git commit: Merge branch 'cassandra-3.9' into trunk
Posted by ca...@apache.org.
Merge branch 'cassandra-3.9' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/accf7a47
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/accf7a47
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/accf7a47
Branch: refs/heads/trunk
Commit: accf7a4724e244d6f1ba921cb11d2554dbb54a76
Parents: d8ca69c 67909ea
Author: Carl Yeksigian <ca...@apache.org>
Authored: Tue Jul 26 09:59:43 2016 -0400
Committer: Carl Yeksigian <ca...@apache.org>
Committed: Tue Jul 26 10:00:04 2016 -0400
----------------------------------------------------------------------
CHANGES.txt | 2 +-
.../apache/cassandra/service/AbstractReadExecutor.java | 10 ++++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/accf7a47/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index ed165e2,50f7a6d..c586d10
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,3 +1,20 @@@
+3.10
+ * Option to leave omitted columns in INSERT JSON unset (CASSANDRA-11424)
+ * Support json/yaml output in nodetool tpstats (CASSANDRA-12035)
+ * Expose metrics for successful/failed authentication attempts (CASSANDRA-10635)
+ * Prepend snapshot name with "truncated" or "dropped" when a snapshot
+ is taken before truncating or dropping a table (CASSANDRA-12178)
+ * Optimize RestrictionSet (CASSANDRA-12153)
+ * cqlsh does not automatically downgrade CQL version (CASSANDRA-12150)
+ * Omit (de)serialization of state variable in UDAs (CASSANDRA-9613)
+ * Create a system table to expose prepared statements (CASSANDRA-8831)
+ * Reuse DataOutputBuffer from ColumnIndex (CASSANDRA-11970)
+ * Remove DatabaseDescriptor dependency from SegmentedFile (CASSANDRA-11580)
+ * Add supplied username to authentication error messages (CASSANDRA-12076)
+ * Remove pre-startup check for open JMX port (CASSANDRA-12074)
+ * Remove compaction Severity from DynamicEndpointSnitch (CASSANDRA-11738)
+
+
-
3.9
* cqlsh: Fix handling of $$-escaped strings (CASSANDRA-12189)
* Fix SSL JMX requiring truststore containing server cert (CASSANDRA-12109)
[2/6] cassandra git commit: Disable RR and speculative retry with
EACH_QUORUM reads
Posted by ca...@apache.org.
Disable RR and speculative retry with EACH_QUORUM reads
Patch by Carl Yeksigian; reviewed by Aleksey Yeschenko for CASSANDRA-11980
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6105da3f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6105da3f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6105da3f
Branch: refs/heads/cassandra-3.9
Commit: 6105da3f5875bee3d8d7ca9db21348ad20cdeaba
Parents: 0bb133e
Author: Carl Yeksigian <ca...@apache.org>
Authored: Tue Jul 26 09:58:06 2016 -0400
Committer: Carl Yeksigian <ca...@apache.org>
Committed: Tue Jul 26 09:58:06 2016 -0400
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/service/AbstractReadExecutor.java | 10 ++++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6105da3f/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 342382e..3c485dd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0.9
+ * Disable RR and speculative retry with EACH_QUORUM reads (CASSANDRA-11980)
* Add option to override compaction space check (CASSANDRA-12180)
* Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114)
* Respond with v1/v2 protocol header when responding to driver that attempts
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6105da3f/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/AbstractReadExecutor.java b/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
index 05fa437..cae1f1a 100644
--- a/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
+++ b/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
@@ -152,7 +152,10 @@ public abstract class AbstractReadExecutor
{
Keyspace keyspace = Keyspace.open(command.metadata().ksName);
List<InetAddress> allReplicas = StorageProxy.getLiveSortedEndpoints(keyspace, command.partitionKey());
- ReadRepairDecision repairDecision = command.metadata().newReadRepairDecision();
+ // 11980: Excluding EACH_QUORUM reads from potential RR, so that we do not miscount DC responses
+ ReadRepairDecision repairDecision = consistencyLevel == ConsistencyLevel.EACH_QUORUM
+ ? ReadRepairDecision.NONE
+ : command.metadata().newReadRepairDecision();
List<InetAddress> targetReplicas = consistencyLevel.filterForQuery(keyspace, allReplicas, repairDecision);
// Throw UAE early if we don't have enough replicas.
@@ -168,7 +171,10 @@ public abstract class AbstractReadExecutor
SpeculativeRetryParam retry = cfs.metadata.params.speculativeRetry;
// Speculative retry is disabled *OR* there are simply no extra replicas to speculate.
- if (retry.equals(SpeculativeRetryParam.NONE) || consistencyLevel.blockFor(keyspace) == allReplicas.size())
+ // 11980: Disable speculative retry if using EACH_QUORUM in order to prevent miscounting DC responses
+ if (retry.equals(SpeculativeRetryParam.NONE)
+ || consistencyLevel == ConsistencyLevel.EACH_QUORUM
+ || consistencyLevel.blockFor(keyspace) == allReplicas.size())
return new NeverSpeculatingReadExecutor(keyspace, command, consistencyLevel, targetReplicas);
if (targetReplicas.size() == allReplicas.size())
[3/6] cassandra git commit: Disable RR and speculative retry with
EACH_QUORUM reads
Posted by ca...@apache.org.
Disable RR and speculative retry with EACH_QUORUM reads
Patch by Carl Yeksigian; reviewed by Aleksey Yeschenko for CASSANDRA-11980
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6105da3f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6105da3f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6105da3f
Branch: refs/heads/trunk
Commit: 6105da3f5875bee3d8d7ca9db21348ad20cdeaba
Parents: 0bb133e
Author: Carl Yeksigian <ca...@apache.org>
Authored: Tue Jul 26 09:58:06 2016 -0400
Committer: Carl Yeksigian <ca...@apache.org>
Committed: Tue Jul 26 09:58:06 2016 -0400
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/service/AbstractReadExecutor.java | 10 ++++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6105da3f/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 342382e..3c485dd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0.9
+ * Disable RR and speculative retry with EACH_QUORUM reads (CASSANDRA-11980)
* Add option to override compaction space check (CASSANDRA-12180)
* Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114)
* Respond with v1/v2 protocol header when responding to driver that attempts
http://git-wip-us.apache.org/repos/asf/cassandra/blob/6105da3f/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/AbstractReadExecutor.java b/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
index 05fa437..cae1f1a 100644
--- a/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
+++ b/src/java/org/apache/cassandra/service/AbstractReadExecutor.java
@@ -152,7 +152,10 @@ public abstract class AbstractReadExecutor
{
Keyspace keyspace = Keyspace.open(command.metadata().ksName);
List<InetAddress> allReplicas = StorageProxy.getLiveSortedEndpoints(keyspace, command.partitionKey());
- ReadRepairDecision repairDecision = command.metadata().newReadRepairDecision();
+ // 11980: Excluding EACH_QUORUM reads from potential RR, so that we do not miscount DC responses
+ ReadRepairDecision repairDecision = consistencyLevel == ConsistencyLevel.EACH_QUORUM
+ ? ReadRepairDecision.NONE
+ : command.metadata().newReadRepairDecision();
List<InetAddress> targetReplicas = consistencyLevel.filterForQuery(keyspace, allReplicas, repairDecision);
// Throw UAE early if we don't have enough replicas.
@@ -168,7 +171,10 @@ public abstract class AbstractReadExecutor
SpeculativeRetryParam retry = cfs.metadata.params.speculativeRetry;
// Speculative retry is disabled *OR* there are simply no extra replicas to speculate.
- if (retry.equals(SpeculativeRetryParam.NONE) || consistencyLevel.blockFor(keyspace) == allReplicas.size())
+ // 11980: Disable speculative retry if using EACH_QUORUM in order to prevent miscounting DC responses
+ if (retry.equals(SpeculativeRetryParam.NONE)
+ || consistencyLevel == ConsistencyLevel.EACH_QUORUM
+ || consistencyLevel.blockFor(keyspace) == allReplicas.size())
return new NeverSpeculatingReadExecutor(keyspace, command, consistencyLevel, targetReplicas);
if (targetReplicas.size() == allReplicas.size())