diff --git a/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java b/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java index a2c916ce9a..c2fe078f88 100644 --- a/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java +++ b/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java @@ -1072,6 +1072,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 3ee5716873..ccdcd682b0 100644 --- a/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java +++ b/test/unit/org/apache/cassandra/repair/consistent/LocalSessionTest.java @@ -699,8 +699,11 @@ public class LocalSessionTest extends AbstractRepairTest sessions.start(); LocalSession session = sessions.prepareForTest(sessionID); session.setState(REPAIRING); + long lastUpdatedOriginal = session.getLastUpdate(); + Thread.sleep(1100); sessions.handleStatusResponse(PARTICIPANT1, new StatusResponse(sessionID, FINALIZE_PROMISED)); + Assert.assertNotEquals(lastUpdatedOriginal, session.getLastUpdate()); Assert.assertEquals(REPAIRING, session.getState()); }