diff --git a/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java b/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java index 32ce747310..b6411b026a 100644 --- a/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java +++ b/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java @@ -1027,6 +1027,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 745edfec52..1043cc5d2e 100644 --- a/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java +++ b/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java @@ -685,8 +685,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()); }