aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingCurator.java
diff options
context:
space:
mode:
Diffstat (limited to 'clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingCurator.java')
-rw-r--r--clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingCurator.java26
1 files changed, 12 insertions, 14 deletions
diff --git a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingCurator.java b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingCurator.java
index 5336275a9c0..22ae54fcc6b 100644
--- a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingCurator.java
+++ b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingCurator.java
@@ -29,43 +29,41 @@ import static java.util.stream.Collectors.toUnmodifiableMap;
public class ReindexingCurator {
private final Curator curator;
- private final String clusterName;
private final ReindexingSerializer serializer;
private final Duration lockTimeout;
- public ReindexingCurator(Curator curator, String clusterName, DocumentTypeManager manager) {
- this(curator, clusterName, manager, Duration.ofSeconds(1));
+ public ReindexingCurator(Curator curator, DocumentTypeManager manager) {
+ this(curator, manager, Duration.ofSeconds(1));
}
- ReindexingCurator(Curator curator, String clusterName, DocumentTypeManager manager, Duration lockTimeout) {
+ ReindexingCurator(Curator curator, DocumentTypeManager manager, Duration lockTimeout) {
this.curator = curator;
- this.clusterName = clusterName;
this.serializer = new ReindexingSerializer(manager);
this.lockTimeout = lockTimeout;
}
- public Reindexing readReindexing() {
- return curator.getData(statusPath()).map(serializer::deserialize)
+ public Reindexing readReindexing(String cluster) {
+ return curator.getData(statusPath(cluster)).map(serializer::deserialize)
.orElse(Reindexing.empty());
}
- public void writeReindexing(Reindexing reindexing) {
- curator.set(statusPath(), serializer.serialize(reindexing));
+ public void writeReindexing(Reindexing reindexing, String cluster) {
+ curator.set(statusPath(cluster), serializer.serialize(reindexing));
}
/** This lock must be held to manipulate reindexing state, or by whoever has a running visitor. */
- public Lock lockReindexing() throws ReindexingLockException {
+ public Lock lockReindexing(String cluster) throws ReindexingLockException {
try {
- return curator.lock(lockPath(), lockTimeout);
+ return curator.lock(lockPath(cluster), lockTimeout);
}
catch (UncheckedTimeoutException e) { // TODO jonmv: Avoid use of guava classes.
throw new ReindexingLockException(e);
}
}
- private Path rootPath() { return Path.fromString("/reindexing/v1/" + clusterName); }
- private Path statusPath() { return rootPath().append("status"); }
- private Path lockPath() { return rootPath().append("lock"); }
+ private Path rootPath(String clusterName) { return Path.fromString("/reindexing/v1/" + clusterName); }
+ private Path statusPath(String clusterName) { return rootPath(clusterName).append("status"); }
+ private Path lockPath(String clusterName) { return rootPath(clusterName).append("lock"); }
private static class ReindexingSerializer {