This is an automated email from the ASF dual-hosted git repository.

marcuse pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
     new da38067  Avoid invalid state transition exception during incremental 
repair
da38067 is described below

commit da3806795fe7cf8412249a0fab9934e071a7511e
Author: Marcus Eriksson <[email protected]>
AuthorDate: Fri Aug 21 09:01:51 2020 +0200

    Avoid invalid state transition exception during incremental repair
    
    Patch by marcuse; reviewed by Blake Eggleston and Jon Meredith for 
CASSANDRA-16067
---
 CHANGES.txt                                                          | 1 +
 .../org/apache/cassandra/repair/consistent/CoordinatorSession.java   | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index 3c4a810..a0041d8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-beta3
+ * Avoid invalid state transition exception during incremental repair 
(CASSANDRA-16067)
  * Allow zero padding in timestamp serialization (CASSANDRA-16105)
  * Add byte array backed cells (CASSANDRA-15393)
  * Correctly handle pending ranges with adjacent range movements 
(CASSANDRA-14801)
diff --git 
a/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java 
b/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java
index 9d440c2..d60541e 100644
--- a/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java
+++ b/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java
@@ -162,6 +162,11 @@ public class CoordinatorSession extends ConsistentSession
 
     public synchronized void handlePrepareResponse(InetAddressAndPort 
participant, boolean success)
     {
+        if (getState() == State.FAILED)
+        {
+            logger.trace("Incremental repair {} has failed, ignoring prepare 
response from {}", sessionID, participant);
+            return;
+        }
         if (!success)
         {
             logger.warn("{} failed the prepare phase for incremental repair 
session {}", participant, sessionID);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to