summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-08-31 10:24:49 +0200
committerHarald Musum <musum@yahooinc.com>2023-08-31 10:24:49 +0200
commit6da97b812ac9ac65c52d0e20911b515d1d23f7d5 (patch)
tree3dad3b995dc6f487052eb1d204176c64c074c8dd /configserver
parenta12253b61f2694c8d4b207386dad418e8b824151 (diff)
Check existence inside lock
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java3
1 files changed, 2 insertions, 1 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 a4bab8302cb..68b1339a0a9 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
@@ -77,9 +77,10 @@ public class ApplicationCuratorDatabase {
public void createApplication(ApplicationId id, boolean writeAsJson) {
if ( ! id.tenant().equals(tenant))
throw new IllegalArgumentException("Cannot write application id '" + id + "' for tenant '" + tenant + "'");
- if (curator.exists(applicationPath(id))) return;
try (Lock lock = lock(id)) {
+ if (curator.exists(applicationPath(id))) return;
+
if (writeAsJson) {
var applicationData = new ApplicationData(id, OptionalLong.empty(), OptionalLong.empty());
curator.set(applicationPath(id), applicationData.toJson());