diff --git a/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java b/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java index d527c962bf..dd60ad4a21 100644 --- a/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java +++ b/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java @@ -1021,6 +1021,7 @@ public class LocalSessions } else { + session.setLastUpdate(); logger.debug("Received StatusResponse for repair session {} with state {}, which is not actionable. Doing nothing.", sessionID, response.state); } } diff --git a/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java b/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java index 2f8dae6a1d..1003681414 100644 --- a/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java +++ b/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java @@ -683,8 +683,11 @@ public class LocalSessionTest extends AbstractRepairTest sessions.start(); LocalSession session = sessions.prepareForTest(sessionID); session.setState(REPAIRING); + int lastUpdatedOriginal = session.getLastUpdate(); + Thread.sleep(1100); sessions.handleStatusResponse(PARTICIPANT1, new StatusResponse(sessionID, FINALIZE_PROMISED)); + Assert.assertNotEquals(lastUpdatedOriginal, session.getLastUpdate()); Assert.assertEquals(REPAIRING, session.getState()); }