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 <[email protected]> Authored: Mon Sep 17 10:08:51 2018 +0100 Committer: Sam Tunnicliffe <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
