diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-09-18 09:32:33 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-09-18 09:32:33 +0200 |
commit | 515b58c00b403ef6342eeeec34c7c9ac15ef2bc5 (patch) | |
tree | 61ee84ff0eeb97d2eedf4e3460e9c1c5a92f48c3 | |
parent | 6411525f438f153946af1cbabc0f1a33178c9bcf (diff) |
Add timeout to error message
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/TimeoutBudget.java | 4 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java | 11 |
2 files changed, 11 insertions, 4 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/TimeoutBudget.java b/configserver/src/main/java/com/yahoo/vespa/config/server/TimeoutBudget.java index 659662ebcf6..fa30fa3561a 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/TimeoutBudget.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/TimeoutBudget.java @@ -25,6 +25,10 @@ public class TimeoutBudget { this.endTime = startTime.plus(duration); } + public Duration timeout() { + return Duration.between(startTime, endTime); + } + public Duration timeLeft() { Instant now = clock.instant(); measurements.add(new Measurement(now)); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java index 2dea02705c4..a16d3d0c221 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java @@ -28,6 +28,7 @@ import com.yahoo.container.jdisc.secretstore.SecretStore; import com.yahoo.lang.SettableOptional; import com.yahoo.path.Path; import com.yahoo.vespa.config.server.ConfigServerSpec; +import com.yahoo.vespa.config.server.TimeoutBudget; import com.yahoo.vespa.config.server.application.ApplicationSet; import com.yahoo.vespa.config.server.application.PermanentApplicationPackage; import com.yahoo.vespa.config.server.configchange.ConfigChangeActions; @@ -234,9 +235,11 @@ public class SessionPreparer { } void checkTimeout(String step) { - if (! params.getTimeoutBudget().hasTimeLeft(step)) { - String used = params.getTimeoutBudget().timesUsed(); - throw new RuntimeException("prepare timed out " + used + " after " + step + " step: " + applicationId); + TimeoutBudget timeoutBudget = params.getTimeoutBudget(); + if (! timeoutBudget.hasTimeLeft(step)) { + String used = timeoutBudget.timesUsed(); + throw new RuntimeException("prepare timed out " + used + " after " + step + + " step (timeout " + timeoutBudget.timeout() + "): " + applicationId); } } @@ -343,7 +346,7 @@ public class SessionPreparer { ZooKeeperDeployer zkDeployer = zooKeeperClient.createDeployer(deployLogger); try { zkDeployer.deploy(applicationPackage, fileRegistryMap, allocatedHosts); - // Note: When changing the below you need to also change similar calls in SessionFactoryImpl.createSessionFromExisting() + // Note: When changing the below you need to also change similar calls in SessionRepository.createSessionFromExisting() zooKeeperClient.writeApplicationId(applicationId); if (distributeApplicationPackage.value()) zooKeeperClient.writeApplicationPackageReference(distributedApplicationPackage); zooKeeperClient.writeVespaVersion(vespaVersion); |