aboutsummaryrefslogtreecommitdiffstats
path: root/zkfacade/src/main
diff options
context:
space:
mode:
authorbjormel <bjormel@yahooinc.com>2023-10-01 12:23:12 +0000
committerbjormel <bjormel@yahooinc.com>2023-10-01 12:23:12 +0000
commite9058b555d4dfea2f6c872d9a677e8678b569569 (patch)
treefa1b67c6e39712c1e0d9f308b0dd55573b43f913 /zkfacade/src/main
parent0ad931fa86658904fe9212b014d810236b0e00e4 (diff)
parent16030193ec04ee41e98779a3d7ee6a6c1d0d0d6f (diff)
Merge branch 'master' into bjormel/aws-main-controller
Diffstat (limited to 'zkfacade/src/main')
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java14
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java12
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCurator.java4
3 files changed, 17 insertions, 13 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 80646dc5607..1bed85b1c02 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
@@ -166,19 +166,19 @@ public class Curator extends AbstractComponent implements AutoCloseable {
private void addLoggingListener() {
curatorFramework.getConnectionStateListenable().addListener((curatorFramework, connectionState) -> {
switch (connectionState) {
- case SUSPENDED: LOG.info("ZK connection state change: SUSPENDED"); break;
- case RECONNECTED: LOG.info("ZK connection state change: RECONNECTED"); break;
- case LOST: LOG.warning("ZK connection state change: LOST"); break;
+ case SUSPENDED -> LOG.info("ZK connection state change: SUSPENDED");
+ case RECONNECTED -> LOG.info("ZK connection state change: RECONNECTED");
+ case LOST -> LOG.warning("ZK connection state change: LOST");
}
});
}
- public CompletionWaiter getCompletionWaiter(Path waiterPath, String id, Duration waitForAll) {
- return CuratorCompletionWaiter.create(this, waiterPath, id, waitForAll);
+ public CompletionWaiter getCompletionWaiter(Path barrierPath, String id, Duration waitForAll) {
+ return CuratorCompletionWaiter.create(this, barrierPath, id, waitForAll);
}
- public CompletionWaiter createCompletionWaiter(Path waiterPath, String id, Duration waitForAll) {
- return CuratorCompletionWaiter.createAndInitialize(this, waiterPath, id, waitForAll);
+ public CompletionWaiter createCompletionWaiter(Path barrierPath, String id, Duration waitForAll) {
+ return CuratorCompletionWaiter.createAndInitialize(this, barrierPath, 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 7d918baaf54..9a8b9b5bf60 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java
@@ -2,6 +2,8 @@
package com.yahoo.vespa.curator;
import com.yahoo.path.Path;
+import com.yahoo.vespa.curator.transaction.CuratorOperations;
+import com.yahoo.vespa.curator.transaction.CuratorTransaction;
import java.time.Clock;
import java.time.Duration;
@@ -120,11 +122,13 @@ class CuratorCompletionWaiter implements CompletionWaiter {
return new CuratorCompletionWaiter(curator, barrierPath, id, Clock.systemUTC(), waitForAll);
}
- public static CompletionWaiter createAndInitialize(Curator curator, Path waiterPath, String id, Duration waitForAll) {
- curator.delete(waiterPath);
- curator.createAtomically(waiterPath);
+ public static CompletionWaiter createAndInitialize(Curator curator, Path barrierPath, String id, Duration waitForAll) {
+ // Note: Should be done atomically, but unable to that when path may not exist before delete
+ // and create should be able to create any missing parent paths
+ curator.delete(barrierPath);
+ curator.create(barrierPath);
- return new CuratorCompletionWaiter(curator, waiterPath, id, Clock.systemUTC(), waitForAll);
+ return new CuratorCompletionWaiter(curator, barrierPath, id, Clock.systemUTC(), waitForAll);
}
private int barrierMemberCount() {
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 592b9fc2a05..e1376fb154b 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
@@ -82,12 +82,12 @@ public class MockCurator extends Curator {
}
@Override
- public CompletionWaiter getCompletionWaiter(Path parentPath, String id, Duration waitForAll) {
+ public CompletionWaiter getCompletionWaiter(Path barrierPath, String id, Duration waitForAll) {
return mockFramework().createCompletionWaiter();
}
@Override
- public CompletionWaiter createCompletionWaiter(Path waiterPath, String id, Duration waitForAll) {
+ public CompletionWaiter createCompletionWaiter(Path barrierPath, String id, Duration waitForAll) {
return mockFramework().createCompletionWaiter();
}