diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-07-09 15:32:23 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-07-09 15:32:23 +0200 |
commit | 0d970eb166d94b44af3c6a3c58ee3c8f704e5fb2 (patch) | |
tree | 402204fd394aa95ea25c9ef0a5a03156e04cf0ed /clustercontroller-reindexer/src | |
parent | 4b5ca059eda0ab6f3c1fa0c718980d7a6e978288 (diff) |
Always hold lock when doing read-write of status
Diffstat (limited to 'clustercontroller-reindexer/src')
-rw-r--r-- | clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java index 93b21c8166b..b056ba962fa 100644 --- a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java +++ b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java @@ -97,11 +97,10 @@ public class Reindexer { // Keep metrics in sync across cluster controller containers. AtomicReference<Reindexing> reindexing = new AtomicReference<>(database.readReindexing(cluster.name())); - database.writeReindexing(reindexing.get(), cluster.name()); metrics.dump(reindexing.get()); try (Lock lock = database.lockReindexing(cluster.name())) { - reindexing.set(updateWithReady(ready, reindexing.get(), clock.instant())); + reindexing.set(updateWithReady(ready, database.readReindexing(cluster.name()), clock.instant())); database.writeReindexing(reindexing.get(), cluster.name()); metrics.dump(reindexing.get()); @@ -178,8 +177,7 @@ public class Reindexer { sessionShutdown.run(); // Shutdown aborts the session unless already complete, then waits for it to terminate normally. // Only as a last resort will we be interrupted here, and the wait for outstanding replies terminate. - CompletionCode result = control.getResult() != null ? control.getResult().getCode() - : CompletionCode.ABORTED; + CompletionCode result = control.getResult() != null ? control.getResult().getCode() : CompletionCode.ABORTED; switch (result) { default: log.log(WARNING, "Unexpected visitor result '" + control.getResult().getCode() + "'"); |