diff options
author | Harald Musum <musum@yahooinc.com> | 2021-09-30 12:18:53 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2021-09-30 12:18:53 +0200 |
commit | f9a0c0db69283388e7943c848b8a07b6091ef299 (patch) | |
tree | 591fcd2635b902983f04f5679116e60e7e2ac145 | |
parent | 2f5a11f868291b34a3aa2c28817b36c5d0ed3d52 (diff) |
Don't wait for prepare barrier to complete when doing dry-run
When doing dry-run, we don't write to zookeeper, so do not wait for
completion, as that will never happen.
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java index 43a684c1fba..083cb535bfa 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java @@ -1,4 +1,4 @@ -// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.session; import com.google.common.collect.HashMultiset; @@ -236,14 +236,16 @@ public class SessionRepository { logger.log(Level.FINE, "Created application " + params.getApplicationId()); long sessionId = session.getSessionId(); SessionZooKeeperClient sessionZooKeeperClient = createSessionZooKeeperClient(sessionId); - CompletionWaiter waiter = sessionZooKeeperClient.createPrepareWaiter(); + Optional<CompletionWaiter> waiter = params.isDryRun() + ? Optional.empty() + : Optional.of(sessionZooKeeperClient.createPrepareWaiter()); Optional<ApplicationSet> activeApplicationSet = getActiveApplicationSet(params.getApplicationId()); ConfigChangeActions actions = sessionPreparer.prepare(applicationRepo.getHostValidator(), logger, params, activeApplicationSet, now, getSessionAppDir(sessionId), session.getApplicationPackage(), sessionZooKeeperClient) .getConfigChangeActions(); setPrepared(session); - waiter.awaitCompletion(params.getTimeoutBudget().timeLeft()); + waiter.ifPresent(w -> w.awaitCompletion(params.getTimeoutBudget().timeLeft())); return actions; } |