diff options
author | jonmv <venstad@gmail.com> | 2024-01-14 19:14:11 +0100 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2024-01-14 19:14:11 +0100 |
commit | 8855dba54d028c32b6f2be535f5ff19a8d5b4c2f (patch) | |
tree | 535f62bfef485dba0718bef33cb0fdfe1e5b4f72 /configserver/src | |
parent | 0d27096cc4af0df33498f7402015b6dea6ee0338 (diff) |
Read under lock, to ensure up-to-date data
Diffstat (limited to 'configserver/src')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java index b2dbea569b6..0493a8b3c37 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java @@ -200,9 +200,11 @@ public class ApplicationCuratorDatabase { } public PendingRestarts readPendingRestarts(ApplicationId id) { - return curator.getData(pendingRestartsPath(id)) - .map(PendingRestartsSerializer::fromBytes) - .orElse(PendingRestarts.empty()); + try (Lock lock = curator.lock(restartsLockPath(id), Duration.ofMinutes(1))) { + return curator.getData(pendingRestartsPath(id)) + .map(PendingRestartsSerializer::fromBytes) + .orElse(PendingRestarts.empty()); + } } public void modifyPendingRestarts(ApplicationId id, UnaryOperator<PendingRestarts> modification) { |