summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@yahoo-inc.com>2017-09-21 09:42:31 +0200
committerGitHub <noreply@github.com>2017-09-21 09:42:31 +0200
commit59a94a6cc5e0c76d7f34a0835f80b86033261651 (patch)
treeb42cea525d953387043c7f4146fa93b67a1b9f83 /configserver
parentad55c0f03d2da70c3c5c3cfc73a8ace0c2f006bf (diff)
parentf203445ed567afdbaead67e6c44d3d4ba980bf42 (diff)
Merge pull request #3473 from vespa-engine/hmusum/non-functional-changes
Document and rename to make code easier to understand
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/ZKTenantApplications.java37
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java13
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java48
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/MockSessionZKClient.java14
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java15
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClientTest.java11
8 files changed, 72 insertions, 78 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ZKTenantApplications.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ZKTenantApplications.java
index 5260dd9228c..e651fd6c97c 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ZKTenantApplications.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ZKTenantApplications.java
@@ -26,8 +26,8 @@ import java.util.logging.Logger;
/**
* The applications of a tenant, backed by ZooKeeper.
- * Each application is stored as a single file, named the same as the application id and containing the id
- * of the session storing the content of the application.
+ * Each application is stored as a single node under /config/v2/tenants/&lt;tenant&gt;/applications/&lt;applications&gt;,
+ * named the same as the application id and containing the id of the session storing the content of the application.
*
* @author Ulf Lilleengen
*/
@@ -36,26 +36,27 @@ public class ZKTenantApplications implements TenantApplications, PathChildrenCac
private static final Logger log = Logger.getLogger(ZKTenantApplications.class.getName());
private final Curator curator;
- private final Path tenantRoot;
- private final ExecutorService pathChildrenExecutor = Executors.newFixedThreadPool(1, ThreadFactoryFactory.getThreadFactory(ZKTenantApplications.class.getName()));
+ private final Path applicationsPath;
+ private final ExecutorService pathChildrenExecutor =
+ Executors.newFixedThreadPool(1, ThreadFactoryFactory.getThreadFactory(ZKTenantApplications.class.getName()));
private final Curator.DirectoryCache directoryCache;
private final ReloadHandler reloadHandler;
private final TenantName tenant;
- private ZKTenantApplications(Curator curator, Path tenantRoot, ReloadHandler reloadHandler, TenantName tenant) {
+ private ZKTenantApplications(Curator curator, Path applicationsPath, ReloadHandler reloadHandler, TenantName tenant) {
this.curator = curator;
- this.tenantRoot = tenantRoot;
+ this.applicationsPath = applicationsPath;
this.reloadHandler = reloadHandler;
this.tenant = tenant;
rewriteApplicationIds();
- this.directoryCache = curator.createDirectoryCache(tenantRoot.getAbsolute(), false, false, pathChildrenExecutor);
+ this.directoryCache = curator.createDirectoryCache(applicationsPath.getAbsolute(), false, false, pathChildrenExecutor);
this.directoryCache.start();
this.directoryCache.addListener(this);
}
- public static TenantApplications create(Curator curator, Path root, ReloadHandler reloadHandler, TenantName tenant) {
+ public static TenantApplications create(Curator curator, Path applicationsPath, ReloadHandler reloadHandler, TenantName tenant) {
try {
- return new ZKTenantApplications(curator, root, reloadHandler, tenant);
+ return new ZKTenantApplications(curator, applicationsPath, reloadHandler, tenant);
} catch (Exception e) {
throw new RuntimeException(Tenants.logPre(tenant) + "Error creating application repo", e);
}
@@ -63,7 +64,7 @@ public class ZKTenantApplications implements TenantApplications, PathChildrenCac
private void rewriteApplicationIds() {
try {
- List<String> appNodes = curator.framework().getChildren().forPath(tenantRoot.getAbsolute());
+ List<String> appNodes = curator.framework().getChildren().forPath(applicationsPath.getAbsolute());
for (String appNode : appNodes) {
Optional<ApplicationId> appId = parseApplication(appNode);
appId.filter(id -> shouldBeRewritten(appNode, id))
@@ -75,7 +76,7 @@ public class ZKTenantApplications implements TenantApplications, PathChildrenCac
}
private long readSessionId(ApplicationId appId, String appNode) {
- String path = tenantRoot.append(appNode).getAbsolute();
+ String path = applicationsPath.append(appNode).getAbsolute();
try {
return Long.parseLong(Utf8.toString(curator.framework().getData().forPath(path)));
} catch (Exception e) {
@@ -88,8 +89,8 @@ public class ZKTenantApplications implements TenantApplications, PathChildrenCac
}
private void rewriteApplicationId(ApplicationId appId, String origNode, long sessionId) {
- String newPath = tenantRoot.append(appId.serializedForm()).getAbsolute();
- String oldPath = tenantRoot.append(origNode).getAbsolute();
+ String newPath = applicationsPath.append(appId.serializedForm()).getAbsolute();
+ String oldPath = applicationsPath.append(origNode).getAbsolute();
try (CuratorTransaction transaction = new CuratorTransaction(curator)) {
if (curator.framework().checkExists().forPath(newPath) == null) {
transaction.add(CuratorOperations.create(newPath, Utf8.toAsciiBytes(sessionId)));
@@ -104,7 +105,7 @@ public class ZKTenantApplications implements TenantApplications, PathChildrenCac
@Override
public List<ApplicationId> listApplications() {
try {
- List<String> appNodes = curator.framework().getChildren().forPath(tenantRoot.getAbsolute());
+ List<String> appNodes = curator.framework().getChildren().forPath(applicationsPath.getAbsolute());
List<ApplicationId> applicationIds = new ArrayList<>();
for (String appNode : appNodes) {
parseApplication(appNode).ifPresent(applicationIds::add);
@@ -127,9 +128,9 @@ public class ZKTenantApplications implements TenantApplications, PathChildrenCac
@Override
public Transaction createPutApplicationTransaction(ApplicationId applicationId, long sessionId) {
if (listApplications().contains(applicationId)) {
- return new CuratorTransaction(curator).add(CuratorOperations.setData(tenantRoot.append(applicationId.serializedForm()).getAbsolute(), Utf8.toAsciiBytes(sessionId)));
+ return new CuratorTransaction(curator).add(CuratorOperations.setData(applicationsPath.append(applicationId.serializedForm()).getAbsolute(), Utf8.toAsciiBytes(sessionId)));
} else {
- return new CuratorTransaction(curator).add(CuratorOperations.create(tenantRoot.append(applicationId.serializedForm()).getAbsolute(), Utf8.toAsciiBytes(sessionId)));
+ return new CuratorTransaction(curator).add(CuratorOperations.create(applicationsPath.append(applicationId.serializedForm()).getAbsolute(), Utf8.toAsciiBytes(sessionId)));
}
}
@@ -140,7 +141,7 @@ public class ZKTenantApplications implements TenantApplications, PathChildrenCac
@Override
public CuratorTransaction deleteApplication(ApplicationId applicationId) {
- Path path = tenantRoot.append(applicationId.serializedForm());
+ Path path = applicationsPath.append(applicationId.serializedForm());
return CuratorTransaction.from(CuratorOperations.delete(path.getAbsolute()), curator);
}
@@ -150,13 +151,13 @@ public class ZKTenantApplications implements TenantApplications, PathChildrenCac
pathChildrenExecutor.shutdown();
}
-
@Override
public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception {
switch (event.getType()) {
case CHILD_ADDED:
applicationAdded(ApplicationId.fromSerializedForm(Path.fromString(event.getData().getPath()).getName()));
break;
+ // Event CHILD_REMOVED will be triggered on all config servers if deleteApplication() above is called on one of them
case CHILD_REMOVED:
applicationRemoved(ApplicationId.fromSerializedForm(Path.fromString(event.getData().getPath()).getName()));
break;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java
index ae15be83062..daa6cefad1f 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java
@@ -23,18 +23,14 @@ public class LocalSessionRepo extends SessionRepo<LocalSession> {
private static final Logger log = Logger.getLogger(LocalSessionRepo.class.getName());
- private final static FilenameFilter sessionApplicationsFilter = new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return name.matches("\\d+");
- }
- };
+ private final static FilenameFilter sessionApplicationsFilter = (dir, name) -> name.matches("\\d+");
private final long sessionLifetime; // in seconds
private final TenantApplications applicationRepo;
private final Clock clock;
- public LocalSessionRepo(TenantFileSystemDirs tenantFileSystemDirs, LocalSessionLoader loader, TenantApplications applicationRepo, Clock clock, long sessionLifeTime) {
+ public LocalSessionRepo(TenantFileSystemDirs tenantFileSystemDirs, LocalSessionLoader loader,
+ TenantApplications applicationRepo, Clock clock, long sessionLifeTime) {
this(applicationRepo, clock, sessionLifeTime);
loadSessions(tenantFileSystemDirs.path(), loader);
}
@@ -48,7 +44,8 @@ public class LocalSessionRepo extends SessionRepo<LocalSession> {
try {
addSession(loader.loadSession(Long.parseLong(application.getName())));
} catch (IllegalArgumentException e) {
- log.log(LogLevel.WARNING, "Could not load application '" + application.getAbsolutePath() + "':" + e.getMessage() + ", skipping it.");
+ log.log(LogLevel.WARNING, "Could not load application '" +
+ application.getAbsolutePath() + "':" + e.getMessage() + ", skipping it.");
}
}
}
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 8f056898374..6a90eaacb02 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
@@ -27,8 +27,8 @@ import java.util.Optional;
import java.util.concurrent.TimeUnit;
/**
- * Zookeeper client for a specific session. Can be used to read and write session status
- * and create and get prepare and active barrier.
+ * Zookeeper client for a specific session. Path for a session is /config/v2/tenants/&lt;tenant&gt;/sessions/&lt;sessionid&gt;
+ * Can be used to read and write session status and create and get prepare and active barrier.
*
* @author Ulf Lilleengen
*/
@@ -39,34 +39,34 @@ public class SessionZooKeeperClient {
// NOTE: Any state added here MUST also be propagated in com.yahoo.vespa.config.server.deploy.Deployment.prepare()
static final String APPLICATION_ID_PATH = "applicationId";
- static final String VERSION_PATH = "version";
- static final String CREATE_TIME_PATH = "createTime";
+ private static final String VERSION_PATH = "version";
+ private static final String CREATE_TIME_PATH = "createTime";
private final Curator curator;
private final ConfigCurator configCurator;
- private final Path rootPath;
+ 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 rootPath) {
- this(curator, ConfigCurator.create(curator), rootPath, new StaticConfigDefinitionRepo(), "", Optional.empty());
+ public SessionZooKeeperClient(Curator curator, Path sessionPath) {
+ this(curator, ConfigCurator.create(curator), sessionPath, new StaticConfigDefinitionRepo(), "", Optional.empty());
}
public SessionZooKeeperClient(Curator curator,
ConfigCurator configCurator,
- Path rootPath,
+ Path sessionPath,
ConfigDefinitionRepo definitionRepo,
String serverId,
Optional<NodeFlavors> nodeFlavors) {
this.curator = curator;
this.configCurator = configCurator;
- this.rootPath = rootPath;
+ this.sessionPath = sessionPath;
this.serverId = serverId;
this.nodeFlavors = nodeFlavors;
- this.sessionStatusPath = rootPath.append(ConfigCurator.SESSIONSTATE_ZK_SUBPATH);
- this.cacheLoader = new ServerCacheLoader(configCurator, rootPath, definitionRepo);
+ this.sessionStatusPath = sessionPath.append(ConfigCurator.SESSIONSTATE_ZK_SUBPATH);
+ this.cacheLoader = new ServerCacheLoader(configCurator, sessionPath, definitionRepo);
}
public void writeStatus(Session.Status sessionStatus) {
@@ -112,7 +112,7 @@ public class SessionZooKeeperClient {
private static final String UPLOAD_BARRIER = "uploadBarrier";
private Path getWaiterPath(String barrierName) {
- return rootPath.append(barrierName);
+ return sessionPath.append(barrierName);
}
/** Returns the number of node members needed in a barrier */
@@ -121,7 +121,7 @@ public class SessionZooKeeperClient {
}
private Curator.CompletionWaiter createCompletionWaiter(String waiterNode) {
- return curator.createCompletionWaiter(rootPath, waiterNode, getNumberOfMembers(), serverId);
+ return curator.createCompletionWaiter(sessionPath, waiterNode, getNumberOfMembers(), serverId);
}
private Curator.CompletionWaiter getCompletionWaiter(Path path) {
@@ -130,20 +130,20 @@ public class SessionZooKeeperClient {
public void delete() {
try {
- log.log(LogLevel.DEBUG, "Deleting " + rootPath.getAbsolute());
- configCurator.deleteRecurse(rootPath.getAbsolute());
+ log.log(LogLevel.DEBUG, "Deleting " + sessionPath.getAbsolute());
+ configCurator.deleteRecurse(sessionPath.getAbsolute());
} catch (RuntimeException e) {
- log.log(LogLevel.INFO, "Error deleting session (" + rootPath.getAbsolute() + ") from zookeeper");
+ log.log(LogLevel.INFO, "Error deleting session (" + sessionPath.getAbsolute() + ") from zookeeper");
}
}
/** Returns a transaction deleting this session on commit */
public CuratorTransaction deleteTransaction() {
- return CuratorTransaction.from(CuratorOperations.deleteAll(rootPath.getAbsolute(), curator), curator);
+ return CuratorTransaction.from(CuratorOperations.deleteAll(sessionPath.getAbsolute(), curator), curator);
}
public ApplicationPackage loadApplicationPackage() {
- return new ZKApplicationPackage(configCurator, rootPath, nodeFlavors);
+ return new ZKApplicationPackage(configCurator, sessionPath, nodeFlavors);
}
public ServerCache loadServerCache() {
@@ -151,7 +151,7 @@ public class SessionZooKeeperClient {
}
private String applicationIdPath() {
- return rootPath.append(APPLICATION_ID_PATH).getAbsolute();
+ return sessionPath.append(APPLICATION_ID_PATH).getAbsolute();
}
public void writeApplicationId(ApplicationId id) {
@@ -164,7 +164,7 @@ public class SessionZooKeeperClient {
}
private String versionPath() {
- return rootPath.append(VERSION_PATH).getAbsolute();
+ return sessionPath.append(VERSION_PATH).getAbsolute();
}
public void writeVespaVersion(Version version) {
@@ -184,7 +184,7 @@ public class SessionZooKeeperClient {
}
private String getCreateTimePath() {
- return rootPath.append(CREATE_TIME_PATH).getAbsolute();
+ return sessionPath.append(CREATE_TIME_PATH).getAbsolute();
}
AllocatedHosts getAllocatedHosts() {
@@ -193,7 +193,7 @@ public class SessionZooKeeperClient {
}
public ZooKeeperDeployer createDeployer(DeployLogger logger) {
- ZooKeeperClient zkClient = new ZooKeeperClient(configCurator, logger, true, rootPath);
+ ZooKeeperClient zkClient = new ZooKeeperClient(configCurator, logger, true, sessionPath);
return new ZooKeeperDeployer(zkClient);
}
@@ -215,8 +215,8 @@ public class SessionZooKeeperClient {
*/
public void createNewSession(long createTime, TimeUnit timeUnit) {
CuratorTransaction transaction = new CuratorTransaction(curator);
- transaction.add(CuratorOperations.create(rootPath.getAbsolute()));
- transaction.add(CuratorOperations.create(rootPath.append(UPLOAD_BARRIER).getAbsolute()));
+ transaction.add(CuratorOperations.create(sessionPath.getAbsolute()));
+ transaction.add(CuratorOperations.create(sessionPath.append(UPLOAD_BARRIER).getAbsolute()));
transaction.add(createWriteStatusTransaction(Session.Status.NEW).operations());
transaction.add(CuratorOperations.create(getCreateTimePath(), Utf8.toBytes(String.valueOf(timeUnit.toSeconds(createTime)))));
transaction.commit();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java
index be98f41c82a..df011dd9307 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java
@@ -155,10 +155,10 @@ public class LocalSessionTest {
}
private LocalSession createSession(TenantName tenant, long sessionId, SessionTest.MockSessionPreparer preparer, Optional<AllocatedHosts> allocatedHosts) throws Exception {
- Path appPath = Path.fromString("/" + sessionId);
- SessionZooKeeperClient zkc = new MockSessionZKClient(curator, appPath, allocatedHosts);
+ Path sessionPath = Path.fromString("/" + sessionId);
+ SessionZooKeeperClient zkc = new MockSessionZKClient(curator, sessionPath, allocatedHosts);
zkc.createWriteStatusTransaction(Session.Status.NEW).commit();
- ZooKeeperClient zkClient = new ZooKeeperClient(configCurator, new BaseDeployLogger(), false, appPath);
+ ZooKeeperClient zkClient = new ZooKeeperClient(configCurator, new BaseDeployLogger(), false, sessionPath);
if (allocatedHosts.isPresent()) {
zkClient.write(allocatedHosts.get());
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockSessionZKClient.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockSessionZKClient.java
index 412e7881a26..62b0ecbada2 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockSessionZKClient.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockSessionZKClient.java
@@ -19,20 +19,20 @@ import java.util.Optional;
public class MockSessionZKClient extends SessionZooKeeperClient {
private ApplicationPackage app = null;
- private Optional<AllocatedHosts> info = null;
+ private Optional<AllocatedHosts> info = Optional.empty();
private Session.Status sessionStatus;
- public MockSessionZKClient(Curator curator, Path rootPath) {
- this(curator, rootPath, (ApplicationPackage)null);
+ public MockSessionZKClient(Curator curator, Path sessionPath) {
+ this(curator, sessionPath, (ApplicationPackage)null);
}
- public MockSessionZKClient(Curator curator, Path rootPath, Optional<AllocatedHosts> allocatedHosts) {
- this(curator, rootPath);
+ public MockSessionZKClient(Curator curator, Path sessionPath, Optional<AllocatedHosts> allocatedHosts) {
+ this(curator, sessionPath);
this.info = allocatedHosts;
}
- public MockSessionZKClient(Curator curator, Path rootPath, ApplicationPackage application) {
- super(curator, rootPath);
+ public MockSessionZKClient(Curator curator, Path sessionPath, ApplicationPackage application) {
+ super(curator, sessionPath);
this.app = application;
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java
index e4972e0b9b3..462062ce8a8 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/RemoteSessionRepoTest.java
@@ -52,9 +52,9 @@ public class RemoteSessionRepoTest extends TestWithCurator {
private void createSession(String root, long sessionId, boolean wait) {
- Path rootPath = Path.fromString(root).append("sessions");
- curator.create(rootPath);
- SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, rootPath.append(String.valueOf(sessionId)));
+ Path sessionsPath = Path.fromString(root).append("sessions");
+ curator.create(sessionsPath);
+ SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, sessionsPath.append(String.valueOf(sessionId)));
zkc.createNewSession(System.currentTimeMillis(), TimeUnit.MILLISECONDS);
if (wait) {
Curator.CompletionWaiter waiter = zkc.getUploadWaiter();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
index 13815e30bbd..265eaa501a2 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
@@ -54,14 +54,15 @@ import static org.junit.Assert.*;
*/
public class SessionPreparerTest extends TestWithCurator {
- private static final Path appPath = Path.createRoot().append("testapp");
+ private static final Path tenantPath = Path.createRoot();
+ private static final Path sessionsPath = tenantPath.append("sessions").append("testapp");
private static final File testApp = new File("src/test/apps/app");
private static final File invalidTestApp = new File("src/test/apps/illegalApp");
private SessionPreparer preparer;
private TestComponentRegistry componentRegistry;
private MockFileDistributionFactory fileDistributionFactory;
- private Path tenantPath = appPath;
+
@Rule
public TemporaryFolder folder = new TemporaryFolder();
@@ -116,7 +117,7 @@ public class SessionPreparerTest extends TestWithCurator {
preparer.prepare(getContext(getApplicationPackage(testApp)), getLogger(),
new PrepareParams.Builder().dryRun(true).timeoutBudget(TimeoutBudgetTest.day()).build(),
Optional.empty(), tenantPath, Instant.now());
- assertFalse(configCurator.exists(appPath.append(ConfigCurator.USERAPP_ZK_SUBPATH).append("services.xml").getAbsolute()));
+ assertFalse(configCurator.exists(sessionsPath.append(ConfigCurator.USERAPP_ZK_SUBPATH).append("services.xml").getAbsolute()));
}
@Test
@@ -136,7 +137,7 @@ public class SessionPreparerTest extends TestWithCurator {
assertThat(fileDistributionFactory.mockFileDistributionProvider.getMockFileDBHandler().limitSendingOfDeployedFilesToCalled, is(2));
// Should be called only once no matter how many model versions are built
assertThat(fileDistributionFactory.mockFileDistributionProvider.getMockFileDBHandler().reloadDeployFileDistributorCalled, is(1));
- assertTrue(configCurator.exists(appPath.append(ConfigCurator.USERAPP_ZK_SUBPATH).append("services.xml").getAbsolute()));
+ assertTrue(configCurator.exists(sessionsPath.append(ConfigCurator.USERAPP_ZK_SUBPATH).append("services.xml").getAbsolute()));
}
@Test
@@ -185,8 +186,8 @@ public class SessionPreparerTest extends TestWithCurator {
.applicationName("foo").instanceName("quux").build();
PrepareParams params = new PrepareParams.Builder().applicationId(origId).build();
preparer.prepare(getContext(getApplicationPackage(testApp)), getLogger(), params, Optional.empty(), tenantPath, Instant.now());
- SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, appPath);
- assertTrue(configCurator.exists(appPath.append(SessionZooKeeperClient.APPLICATION_ID_PATH).getAbsolute()));
+ SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, sessionsPath);
+ assertTrue(configCurator.exists(sessionsPath.append(SessionZooKeeperClient.APPLICATION_ID_PATH).getAbsolute()));
assertThat(zkc.readApplicationId(), is(origId));
}
@@ -245,7 +246,7 @@ public class SessionPreparerTest extends TestWithCurator {
}
private SessionContext getContext(FilesApplicationPackage app) throws IOException {
- return new SessionContext(app, new SessionZooKeeperClient(curator, appPath), app.getAppDir(), new MemoryTenantApplications(), new HostRegistry<>(), new SuperModelGenerationCounter(curator));
+ return new SessionContext(app, new SessionZooKeeperClient(curator, sessionsPath), app.getAppDir(), new MemoryTenantApplications(), new HostRegistry<>(), new SuperModelGenerationCounter(curator));
}
private FilesApplicationPackage getApplicationPackage(File testFile) throws IOException {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClientTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClientTest.java
index 6b733bd7ba1..98ba3d4e178 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClientTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClientTest.java
@@ -1,7 +1,6 @@
// 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.yahoo.config.provision.TenantName;
import com.yahoo.path.Path;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.text.Utf8;
@@ -105,13 +104,9 @@ public class SessionZooKeeperClientTest extends TestWithCurator {
assertThat(zkId.serializedForm(), is(expectedIdString));
}
- private SessionZooKeeperClient createSessionZKClient(String generation) {
- return createSessionZKClient(generation, 100);
- }
-
- private SessionZooKeeperClient createSessionZKClient(String generation, long createTimeInMillis) {
- SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, Path.fromString(generation));
- zkc.createNewSession(createTimeInMillis, TimeUnit.MILLISECONDS);
+ private SessionZooKeeperClient createSessionZKClient(String sessionId) {
+ SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, Path.fromString(sessionId));
+ zkc.createNewSession(100, TimeUnit.MILLISECONDS);
return zkc;
}