summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2018-08-30 09:55:43 +0200
committerMartin Polden <mpolden@mpolden.no>2018-08-30 10:18:06 +0200
commit7b6d0b67f19912e2764d1c1d7200870fa23931c0 (patch)
tree66becc71267b8c6e2c0939fdbd7f4cd89ce83705 /controller-server
parenta0fbd80615772166b3458db91c1621f6e23dfb6a (diff)
Reduce lock timeout in MockCuratorDb
Speeds up tests that hang around waiting for lock timeouts.
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java12
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/MockCuratorDb.java4
2 files changed, 11 insertions, 5 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
index cf244c38565..e117592d608 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
@@ -48,9 +48,6 @@ import java.util.stream.Collectors;
import java.util.stream.LongStream;
import static java.util.stream.Collectors.collectingAndThen;
-import static java.util.stream.Collectors.groupingBy;
-import static java.util.stream.Collectors.reducing;
-import static java.util.stream.Collectors.toMap;
/**
* Curator backed database for storing the persistence state of controllers. This maps controller specific operations
@@ -64,6 +61,7 @@ public class CuratorDb {
private static final Logger log = Logger.getLogger(CuratorDb.class.getName());
private static final Duration defaultLockTimeout = Duration.ofMinutes(5);
+ private static final Duration defaultTryLockTimeout = Duration.ofSeconds(1);
private static final Path root = Path.fromString("/controller/v1");
private static final Path lockRoot = root.append("locks");
@@ -83,6 +81,7 @@ public class CuratorDb {
private final OsVersionStatusSerializer osVersionStatusSerializer = new OsVersionStatusSerializer(osVersionSerializer);
private final Curator curator;
+ private final Duration tryLockTimeout;
/**
* All keys, to allow reentrancy.
@@ -92,7 +91,12 @@ public class CuratorDb {
@Inject
public CuratorDb(Curator curator) {
+ this(curator, defaultTryLockTimeout);
+ }
+
+ CuratorDb(Curator curator, Duration tryLockTimeout) {
this.curator = curator;
+ this.tryLockTimeout = tryLockTimeout;
}
/** Returns all hosts configured to be part of this ZooKeeper cluster */
@@ -176,7 +180,7 @@ public class CuratorDb {
*/
private Lock tryLock(Path path) throws TimeoutException {
try {
- return lock(path, Duration.ofSeconds(1));
+ return lock(path, tryLockTimeout);
}
catch (UncheckedTimeoutException e) {
throw new TimeoutException(e.getMessage());
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/MockCuratorDb.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/MockCuratorDb.java
index cae48eba242..32fa7beabfc 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/MockCuratorDb.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/MockCuratorDb.java
@@ -4,6 +4,8 @@ package com.yahoo.vespa.hosted.controller.persistence;
import com.google.inject.Inject;
import com.yahoo.vespa.curator.mock.MockCurator;
+import java.time.Duration;
+
/**
* A curator db backed by a mock curator.
*
@@ -23,7 +25,7 @@ public class MockCuratorDb extends CuratorDb {
public String zooKeeperEnsembleConnectionSpec() {
return zooKeeperEnsembleConnectionSpec;
}
- });
+ }, Duration.ofMillis(1));
}
}