summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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/maintenance/SessionsMaintainer.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java11
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintenance.java4
4 files changed, 16 insertions, 7 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/maintenance/SessionsMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java
index ed526908f6f..0be81e41d30 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java
@@ -28,12 +28,12 @@ public class SessionsMaintainer extends ConfigServerMaintainer {
applicationRepository.deleteExpiredLocalSessions();
if (hostedVespa) {
- Duration expiryTime = Duration.ofHours(2);
+ Duration expiryTime = Duration.ofMinutes(90);
int deleted = applicationRepository.deleteExpiredRemoteSessions(expiryTime);
log.log(LogLevel.FINE, () -> "Deleted " + deleted + " expired remote sessions older than " + expiryTime);
}
- Duration lockExpiryTime = Duration.ofHours(2);
+ Duration lockExpiryTime = Duration.ofMinutes(90);
int deleted = applicationRepository.deleteExpiredSessionLocks(lockExpiryTime);
log.log(LogLevel.FINE, () -> "Deleted " + deleted + " locks older than " + lockExpiryTime);
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);
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintenance.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintenance.java
index a5482281ef1..0890908dc80 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintenance.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintenance.java
@@ -182,7 +182,9 @@ public class NodeRepositoryMaintenance extends AbstractComponent {
provisionedExpiry = Duration.ofHours(4);
rebalancerInterval = Duration.ofMinutes(40);
redeployMaintainerInterval = Duration.ofMinutes(1);
- reservationExpiry = Duration.ofMinutes(15); // Need to be long enough for deployment to be finished for all config model versions
+ // Need to be long enough for deployment to be finished for all config model versions
+ // Should be equal to timeout for deployments
+ reservationExpiry = zone.system().isCd() ? Duration.ofMinutes(5) : Duration.ofMinutes(30);
scalingSuggestionsInterval = Duration.ofMinutes(31);
spareCapacityMaintenanceInterval = Duration.ofMinutes(10);
throttlePolicy = NodeFailer.ThrottlePolicy.hosted;