summaryrefslogtreecommitdiffstats
path: root/zkfacade
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-03-22 11:23:41 +0100
committerHarald Musum <musum@yahooinc.com>2023-03-22 11:23:41 +0100
commita7d964aa8a658acd99fbf3a4d99bf86d3d33b03d (patch)
treef31ec9718baaf9e93d30d22945e22f25267ffc81 /zkfacade
parent0c57ce1f051b0cec06eee903ea14efd81340b682 (diff)
Specify barrier wait for all timeout in callers, simplify
Diffstat (limited to 'zkfacade')
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java8
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java9
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCurator.java6
-rw-r--r--zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorCompletionWaiterTest.java8
4 files changed, 12 insertions, 19 deletions
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
index 9a7dd469fa1..2781e81cd7c 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
@@ -173,12 +173,12 @@ public class Curator extends AbstractComponent implements AutoCloseable {
});
}
- public CompletionWaiter getCompletionWaiter(Path waiterPath, String id) {
- return CuratorCompletionWaiter.create(this, waiterPath, id);
+ public CompletionWaiter getCompletionWaiter(Path waiterPath, String id, Duration waitForAll) {
+ return CuratorCompletionWaiter.create(this, waiterPath, id, waitForAll);
}
- public CompletionWaiter createCompletionWaiter(Path parentPath, String waiterNode, String id) {
- return CuratorCompletionWaiter.createAndInitialize(this, parentPath, waiterNode, id);
+ public CompletionWaiter createCompletionWaiter(Path parentPath, String waiterNode, String id, Duration waitForAll) {
+ return CuratorCompletionWaiter.createAndInitialize(this, parentPath, waiterNode, id, waitForAll);
}
/** Creates a listenable cache which keeps in sync with changes to all the immediate children of a path */
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java
index 8df37d1f6ce..5a3d6668231 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java
@@ -21,7 +21,6 @@ import java.util.logging.Level;
class CuratorCompletionWaiter implements Curator.CompletionWaiter {
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(CuratorCompletionWaiter.class.getName());
- private static final Duration waitForAllDefault = Duration.ofSeconds(1); // Make this configurable?
private final Curator curator;
private final String barrierPath;
@@ -121,18 +120,10 @@ class CuratorCompletionWaiter implements Curator.CompletionWaiter {
return "'" + barrierPath + "', " + barrierMemberCount() + " members";
}
- public static Curator.CompletionWaiter create(Curator curator, Path barrierPath, String id) {
- return create(curator, barrierPath, id, waitForAllDefault);
- }
-
public static Curator.CompletionWaiter create(Curator curator, Path barrierPath, String id, Duration waitForAll) {
return new CuratorCompletionWaiter(curator, barrierPath.getAbsolute(), id, Clock.systemUTC(), waitForAll);
}
- public static Curator.CompletionWaiter createAndInitialize(Curator curator, Path parentPath, String waiterNode, String id) {
- return createAndInitialize(curator, parentPath, waiterNode, id, waitForAllDefault);
- }
-
public static Curator.CompletionWaiter createAndInitialize(Curator curator, Path parentPath, String waiterNode, String id, Duration waitForAll) {
Path waiterPath = parentPath.append(waiterNode);
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCurator.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCurator.java
index 5ebd33801ed..e578746d348 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCurator.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCurator.java
@@ -6,7 +6,7 @@ import com.yahoo.path.Path;
import com.yahoo.vespa.curator.Curator;
import org.apache.curator.framework.recipes.atomic.DistributedAtomicLong;
import org.apache.curator.framework.recipes.locks.InterProcessLock;
-
+import java.time.Duration;
import java.util.Optional;
import java.util.concurrent.ExecutorService;
@@ -82,12 +82,12 @@ public class MockCurator extends Curator {
}
@Override
- public CompletionWaiter getCompletionWaiter(Path parentPath, String id) {
+ public CompletionWaiter getCompletionWaiter(Path parentPath, String id, Duration waitForAll) {
return mockFramework().createCompletionWaiter();
}
@Override
- public CompletionWaiter createCompletionWaiter(Path parentPath, String waiterNode, String id) {
+ public CompletionWaiter createCompletionWaiter(Path parentPath, String waiterNode, String id, Duration waitForAll) {
return mockFramework().createCompletionWaiter();
}
diff --git a/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorCompletionWaiterTest.java b/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorCompletionWaiterTest.java
index 8b635d2efdf..dbdb14b9214 100644
--- a/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorCompletionWaiterTest.java
+++ b/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorCompletionWaiterTest.java
@@ -14,11 +14,13 @@ import static org.junit.Assert.fail;
*/
public class CuratorCompletionWaiterTest {
+ private static final Duration waitForAll = Duration.ofSeconds(1);
+
@Test
public void testCompletionWaiter() throws InterruptedException {
Curator curator = new MockCurator();
- Curator.CompletionWaiter waiter = CuratorCompletionWaiter.createAndInitialize(curator, Path.createRoot(), "foo", "foo");
- Curator.CompletionWaiter notifier = CuratorCompletionWaiter.create(curator, Path.fromString("/foo"), "bar");
+ Curator.CompletionWaiter waiter = CuratorCompletionWaiter.createAndInitialize(curator, Path.createRoot(), "foo", "foo", waitForAll);
+ Curator.CompletionWaiter notifier = CuratorCompletionWaiter.create(curator, Path.fromString("/foo"), "bar", waitForAll);
Thread t1 = new Thread(() -> {
try {
waiter.awaitCompletion(Duration.ofSeconds(120));
@@ -34,7 +36,7 @@ public class CuratorCompletionWaiterTest {
@Test(expected = CompletionTimeoutException.class)
public void testCompletionWaiterFailure() {
Curator curator = new MockCurator();
- Curator.CompletionWaiter waiter = CuratorCompletionWaiter.createAndInitialize(curator, Path.createRoot(), "foo", "foo");
+ Curator.CompletionWaiter waiter = CuratorCompletionWaiter.createAndInitialize(curator, Path.createRoot(), "foo", "foo", waitForAll);
waiter.awaitCompletion(Duration.ofMillis(100));
}
}