summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-09-18 09:32:33 +0200
committerHarald Musum <musum@verizonmedia.com>2020-09-18 09:32:33 +0200
commit515b58c00b403ef6342eeeec34c7c9ac15ef2bc5 (patch)
tree61ee84ff0eeb97d2eedf4e3460e9c1c5a92f48c3
parent6411525f438f153946af1cbabc0f1a33178c9bcf (diff)
Add timeout to error message
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/TimeoutBudget.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java11
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);