aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src/main/java/com/yahoo/vespa/config/server/session
diff options
context:
space:
mode:
Diffstat (limited to 'configserver/src/main/java/com/yahoo/vespa/config/server/session')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionFactory.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/ServerCacheLoader.java67
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java12
4 files changed, 4 insertions, 84 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionFactory.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionFactory.java
index d9265423c7d..0707260dffd 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionFactory.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionFactory.java
@@ -3,7 +3,6 @@ package com.yahoo.vespa.config.server.session;
import com.yahoo.config.provision.TenantName;
import com.yahoo.path.Path;
-import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.tenant.TenantRepository;
@@ -19,7 +18,6 @@ public class RemoteSessionFactory {
private final Curator curator;
private final ConfigCurator configCurator;
private final Path sessionsPath;
- private final ConfigDefinitionRepo defRepo;
private final TenantName tenant;
private final ConfigserverConfig configserverConfig;
@@ -29,7 +27,6 @@ public class RemoteSessionFactory {
this.configCurator = componentRegistry.getConfigCurator();
this.sessionsPath = TenantRepository.getSessionsPath(tenant);
this.tenant = tenant;
- this.defRepo = componentRegistry.getConfigDefinitionRepo();
this.configserverConfig = componentRegistry.getConfigserverConfig();
}
@@ -38,7 +35,6 @@ public class RemoteSessionFactory {
SessionZooKeeperClient sessionZKClient = new SessionZooKeeperClient(curator,
configCurator,
sessionPath,
- defRepo,
configserverConfig.serverId(),
componentRegistry.getZone().nodeFlavors());
return new RemoteSession(tenant, sessionId, componentRegistry, sessionZKClient);
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/ServerCacheLoader.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/ServerCacheLoader.java
deleted file mode 100644
index 62e92f4ff08..00000000000
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/ServerCacheLoader.java
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.config.server.session;
-
-import com.google.common.base.Splitter;
-import com.yahoo.config.model.api.ConfigDefinitionRepo;
-import com.yahoo.path.Path;
-import com.yahoo.vespa.config.ConfigDefinitionKey;
-import com.yahoo.vespa.config.buildergen.ConfigDefinition;
-import com.yahoo.vespa.config.server.ServerCache;
-import com.yahoo.vespa.config.server.UserConfigDefinitionRepo;
-import com.yahoo.vespa.config.util.ConfigUtils;
-import com.yahoo.vespa.config.server.zookeeper.ConfigCurator;
-
-/**
- * Loads config definitions from zookeeper and creates a {@link ServerCache} instance containing these
- * and the builtin config definitions in memory.
- *
- * @author Ulf Lilleengen
- */
-public class ServerCacheLoader {
-
- private final ConfigDefinitionRepo repo;
- private final ConfigCurator configCurator;
- private final Path path;
-
- ServerCacheLoader(ConfigCurator configCurator, Path rootPath, ConfigDefinitionRepo builtinConfigDefinitions) {
- this.configCurator = configCurator;
- this.path = rootPath;
- this.repo = builtinConfigDefinitions;
- }
-
- public ServerCache loadCache() {
- return loadConfigDefinitions();
- }
-
- /**
- * Reads config definitions from zookeeper, parses them and puts both ConfigDefinition instances
- * and payload (raw config definition) into cache.
- *
- * @return the populated cache.
- */
- private ServerCache loadConfigDefinitions() {
- try {
- return new ServerCache(repo, createUserConfigDefinitionsRepo(path.append(ConfigCurator.USER_DEFCONFIGS_ZK_SUBPATH).getAbsolute()));
- } catch (Exception e) {
- throw new IllegalStateException("Could not load user config definitions from " + path, e);
- }
- }
-
- /**
- * Creates repo with user config definitions
- *
- * @param appPath the path to load config definitions from
- */
- private UserConfigDefinitionRepo createUserConfigDefinitionsRepo(String appPath) {
- UserConfigDefinitionRepo userConfigDefinitionRepo = new UserConfigDefinitionRepo();
- if ( ! configCurator.exists(appPath)) return userConfigDefinitionRepo;
-
- for (String nodeName : configCurator.getChildren(appPath)) {
- String payload = configCurator.getData(appPath, nodeName);
- ConfigDefinitionKey dKey = ConfigUtils.createConfigDefinitionKeyFromZKString(nodeName);
- userConfigDefinitionRepo.add(dKey, new ConfigDefinition(dKey.getName(), Splitter.on("\n").splitToList(payload).toArray(new String[0])));
- }
- return userConfigDefinitionRepo;
- }
-
-}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java
index 6e34511c62d..a50114a4a82 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java
@@ -4,7 +4,6 @@ package com.yahoo.vespa.config.server.session;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.model.application.provider.*;
-import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.config.provision.NodeFlavors;
import com.yahoo.io.IOUtils;
import com.yahoo.log.LogLevel;
@@ -47,7 +46,6 @@ public class SessionFactoryImpl implements SessionFactory, LocalSessionLoader {
private final TenantFileSystemDirs tenantFileSystemDirs;
private final HostValidator<ApplicationId> hostRegistry;
private final SuperModelGenerationCounter superModelGenerationCounter;
- private final ConfigDefinitionRepo defRepo;
private final TenantName tenant;
private final String serverId;
private final Optional<NodeFlavors> nodeFlavors;
@@ -68,7 +66,6 @@ public class SessionFactoryImpl implements SessionFactory, LocalSessionLoader {
this.applicationRepo = applicationRepo;
this.tenantFileSystemDirs = tenantFileSystemDirs;
this.superModelGenerationCounter = globalComponentRegistry.getSuperModelGenerationCounter();
- this.defRepo = globalComponentRegistry.getConfigDefinitionRepo();
this.serverId = globalComponentRegistry.getConfigserverConfig().serverId();
this.nodeFlavors = globalComponentRegistry.getZone().nodeFlavors();
this.clock = globalComponentRegistry.getClock();
@@ -146,7 +143,6 @@ public class SessionFactoryImpl implements SessionFactory, LocalSessionLoader {
SessionZooKeeperClient sessionZooKeeperClient = new SessionZooKeeperClient(curator,
configCurator,
sessionIdPath,
- defRepo,
serverId,
nodeFlavors);
File userApplicationDir = tenantFileSystemDirs.getUserApplicationDir(sessionId);
@@ -180,7 +176,6 @@ public class SessionFactoryImpl implements SessionFactory, LocalSessionLoader {
SessionZooKeeperClient sessionZKClient = new SessionZooKeeperClient(curator,
configCurator,
sessionIdPath,
- defRepo,
serverId,
nodeFlavors);
SessionContext context = new SessionContext(applicationPackage, sessionZKClient, sessionDir, applicationRepo,
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 2049a7f9eb0..727d4e6d7bc 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
@@ -13,9 +13,8 @@ import com.yahoo.log.LogLevel;
import com.yahoo.path.Path;
import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.text.Utf8;
-import com.yahoo.vespa.config.server.StaticConfigDefinitionRepo;
-import com.yahoo.vespa.config.server.ServerCache;
import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.vespa.config.server.UserConfigDefinitionRepo;
import com.yahoo.vespa.config.server.deploy.ZooKeeperClient;
import com.yahoo.vespa.config.server.deploy.ZooKeeperDeployer;
import com.yahoo.vespa.config.server.zookeeper.ZKApplicationPackage;
@@ -47,18 +46,16 @@ public class SessionZooKeeperClient {
private final Path sessionPath;
private final Path sessionStatusPath;
private final String serverId;
- private final ServerCacheLoader cacheLoader;
private final Optional<NodeFlavors> nodeFlavors;
// Only for testing when cache loader does not need cache entries.
public SessionZooKeeperClient(Curator curator, Path sessionPath) {
- this(curator, ConfigCurator.create(curator), sessionPath, new StaticConfigDefinitionRepo(), "", Optional.empty());
+ this(curator, ConfigCurator.create(curator), sessionPath, "", Optional.empty());
}
public SessionZooKeeperClient(Curator curator,
ConfigCurator configCurator,
Path sessionPath,
- ConfigDefinitionRepo definitionRepo,
String serverId,
Optional<NodeFlavors> nodeFlavors) {
this.curator = curator;
@@ -67,7 +64,6 @@ public class SessionZooKeeperClient {
this.serverId = serverId;
this.nodeFlavors = nodeFlavors;
this.sessionStatusPath = sessionPath.append(ConfigCurator.SESSIONSTATE_ZK_SUBPATH);
- this.cacheLoader = new ServerCacheLoader(configCurator, sessionPath, definitionRepo);
}
public void writeStatus(Session.Status sessionStatus) {
@@ -148,8 +144,8 @@ public class SessionZooKeeperClient {
return new ZKApplicationPackage(configCurator, sessionPath, nodeFlavors);
}
- public ServerCache loadServerCache() {
- return cacheLoader.loadCache();
+ public ConfigDefinitionRepo getUserConfigDefinitions() {
+ return new UserConfigDefinitionRepo(configCurator, sessionPath.append(ConfigCurator.USER_DEFCONFIGS_ZK_SUBPATH).getAbsolute());
}
private String applicationIdPath() {