From d6bf8ec3d0b3969d8bdc47d2edbcc601260529b2 Mon Sep 17 00:00:00 2001 From: Blake Eggleston Date: Mon, 17 Jun 2024 16:28:05 -0700 Subject: [PATCH] Don't run incremental repairs for consensus only repairs Patch by Blake Eggleston; reviewed by David Capwell for CASSANDRA-19717 --- src/java/org/apache/cassandra/repair/RepairCoordinator.java | 2 +- .../org/apache/cassandra/repair/messages/RepairOption.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/java/org/apache/cassandra/repair/RepairCoordinator.java b/src/java/org/apache/cassandra/repair/RepairCoordinator.java index 2d6fc9cb66..9e8f1d5a3b 100644 --- a/src/java/org/apache/cassandra/repair/RepairCoordinator.java +++ b/src/java/org/apache/cassandra/repair/RepairCoordinator.java @@ -499,7 +499,7 @@ public class RepairCoordinator implements Runnable, ProgressEventNotifier, Repai { task = new PreviewRepairTask(this, state.id, neighborsAndRanges.filterCommonRanges(state.keyspace, cfnames), neighborsAndRanges.shouldExcludeDeadParticipants, cfnames); } - else if (state.options.isIncremental()) + else if (state.options.isIncremental() && !state.options.isConsensusOnly()) { task = new IncrementalRepairTask(this, state.id, neighborsAndRanges, cfnames); } diff --git a/src/java/org/apache/cassandra/repair/messages/RepairOption.java b/src/java/org/apache/cassandra/repair/messages/RepairOption.java index 11be2269fd..bd3ea276ca 100644 --- a/src/java/org/apache/cassandra/repair/messages/RepairOption.java +++ b/src/java/org/apache/cassandra/repair/messages/RepairOption.java @@ -463,6 +463,11 @@ public class RepairOption return accordOnly; } + public boolean isConsensusOnly() + { + return paxosOnly() || accordOnly(); + } + public boolean isConsensusMigration() { return isConsensusMigration;