You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sa...@apache.org on 2018/09/20 12:56:02 UTC
cassandra git commit: Reinstate repaired data tracking if read repair
is disabled
Repository: cassandra
Updated Branches:
refs/heads/trunk 27c937477 -> ee9e06b5a
Reinstate repaired data tracking if read repair is disabled
Patch by Sam Tunnicliffe; reviewed by Alex Petrov for CASSANDRA-14755
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ee9e06b5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ee9e06b5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ee9e06b5
Branch: refs/heads/trunk
Commit: ee9e06b5a75c0be954694b191ea4170456015b98
Parents: 27c9374
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Mon Sep 17 10:08:51 2018 +0100
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Thu Sep 20 12:16:30 2018 +0100
----------------------------------------------------------------------
.../cassandra/service/reads/DataResolver.java | 22 ++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee9e06b5/src/java/org/apache/cassandra/service/reads/DataResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/reads/DataResolver.java b/src/java/org/apache/cassandra/service/reads/DataResolver.java
index db5f3c8..03f718f 100644
--- a/src/java/org/apache/cassandra/service/reads/DataResolver.java
+++ b/src/java/org/apache/cassandra/service/reads/DataResolver.java
@@ -164,9 +164,27 @@ public class DataResolver<E extends Endpoints<E>, P extends ReplicaPlan.ForRead<
P sources,
RepairedDataTracker repairedDataTracker)
{
- // Avoid wrapping no-op listeners as it doesn't throw
+ // Avoid wrapping no-op listener as it doesn't throw, unless we're tracking repaired status
+ // in which case we need to inject the tracker & verify on close
if (partitionListener == UnfilteredPartitionIterators.MergeListener.NOOP)
- return partitionListener;
+ {
+ if (repairedDataTracker == null)
+ return partitionListener;
+
+ return new UnfilteredPartitionIterators.MergeListener()
+ {
+
+ public UnfilteredRowIterators.MergeListener getRowMergeListener(DecoratedKey partitionKey, List<UnfilteredRowIterator> versions)
+ {
+ return UnfilteredRowIterators.MergeListener.NOOP;
+ }
+
+ public void close()
+ {
+ repairedDataTracker.verify();
+ }
+ };
+ }
return new UnfilteredPartitionIterators.MergeListener()
{
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org