RecoveryMonitor#lastSeenAccessTime should be volatile
This local field is accessed on multiple threads and is nonvolatile so
theoretically could yield stale values. Not sure it does in practice.
@@ -258,7 +258,7 @@ public class RecoveriesCollection {
private final long recoveryId;
private final TimeValue checkInterval;
- private long lastSeenAccessTime;
+ private volatile long lastSeenAccessTime;
private RecoveryMonitor(long recoveryId, long lastSeenAccessTime, TimeValue checkInterval) {
this.recoveryId = recoveryId;
