diff options
author | HÃ¥kon Hallingstad <hakon@verizonmedia.com> | 2020-09-18 10:33:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-18 10:33:17 +0200 |
commit | cb107669630befa007e0c229e76515314f8219cb (patch) | |
tree | 61ee84ff0eeb97d2eedf4e3460e9c1c5a92f48c3 | |
parent | 6411525f438f153946af1cbabc0f1a33178c9bcf (diff) | |
parent | 515b58c00b403ef6342eeeec34c7c9ac15ef2bc5 (diff) |
Merge pull request #14442 from vespa-engine/hmusum/add-timeout-to-error-message
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); |