diff options
Diffstat (limited to 'configserver/src/main/java/com/yahoo/vespa/config/server/session')
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() { |