summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-02-17 08:34:24 +0100
committerJon Marius Venstad <venstad@gmail.com>2021-02-19 17:40:10 +0100
commit4ad8737974a0476daabc7db37d615d4a73682682 (patch)
tree692c10ca58fd461e7f585edec178d95a5d89ab46 /configserver
parent2b1828f8861320af8924954aaf223a221ce3e7c4 (diff)
Wire dedicated-CCC from previous to copied sessions, and add some doc
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/Session.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java3
4 files changed, 14 insertions, 0 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java
index 8b3bcb3e25b..9529e25b37b 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationCuratorDatabase.java
@@ -159,6 +159,7 @@ public class ApplicationCuratorDatabase {
return applicationsPath.append(id.serializedForm());
}
+ // Used to determine whether future preparations of this application should use a dedicated CCC.
private Path dedicatedClusterControllerClusterPath(ApplicationId id) {
return applicationPath(id).append("dedicatedClusterControllerCluster");
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/Session.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/Session.java
index 9b74eac5631..275d293e227 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/Session.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/Session.java
@@ -158,6 +158,14 @@ public abstract class Session implements Comparable<Session> {
return sessionZooKeeperClient.getAllocatedHosts();
}
+ public void setDedicatedClusterControllerCluster() {
+ sessionZooKeeperClient.writeDedicatedClusterControllerCluster();
+ }
+
+ public boolean getDedicatedClusterControllerCluster() {
+ return sessionZooKeeperClient.readDedicatedClusterControllerCluster();
+ }
+
public Transaction createDeactivateTransaction() {
return createSetStatusTransaction(Status.DEACTIVATE);
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
index 76fd57a51cf..9bfa1e59414 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
@@ -255,6 +255,8 @@ public class SessionRepository {
session.setVespaVersion(existingSession.getVespaVersion());
session.setDockerImageRepository(existingSession.getDockerImageRepository());
session.setAthenzDomain(existingSession.getAthenzDomain());
+ if (existingSession.getDedicatedClusterControllerCluster())
+ session.setDedicatedClusterControllerCluster();
return session;
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java
index aaa3d0b2c35..197964c2677 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java
@@ -52,6 +52,9 @@ public class SessionZooKeeperClient {
private static final String DOCKER_IMAGE_REPOSITORY_PATH = "dockerImageRepository";
private static final String ATHENZ_DOMAIN = "athenzDomain";
private static final String QUOTA_PATH = "quota";
+
+ // Whether the deployment of this particular session should use a dedicated CCC.
+ // The one in ApplicationCuratorDatabase signals what all future preparations should use, i.e., here.
private static final String DEDICATED_CLUSTER_CONTROLLER_CLUSTER_PATH = "dedicatedClusterControllerCluster";
private final Curator curator;
private final ConfigCurator configCurator;