diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-10-07 12:49:34 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-10-07 12:49:34 +0200 |
commit | 786eb0a1d2015538f38c09f301a49292afb33894 (patch) | |
tree | 0c8381d37d2c838d3e5dfe7e38e4c7373713866d /configserver | |
parent | 4b20506671ba1773bf71dec167ccea6ad1b75c0a (diff) |
Inline and rename some methods
Diffstat (limited to 'configserver')
4 files changed, 23 insertions, 38 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java index 549a8ca7b7b..24da59aa52f 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java @@ -794,7 +794,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye public long createSession(ApplicationId applicationId, TimeoutBudget timeoutBudget, File applicationDirectory) { SessionRepository sessionRepository = getTenant(applicationId).getSessionRepository(); - LocalSession session = sessionRepository.createSession(applicationDirectory, applicationId, timeoutBudget); + LocalSession session = sessionRepository.createSessionFromApplicationPackage(applicationDirectory, applicationId, timeoutBudget); return session.getSessionId(); } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java index 43211d02a79..31f8f28531d 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java @@ -87,7 +87,7 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer { Tenant tenant = applicationRepository.getTenant(applicationId); SessionRepository sessionRepository = tenant.getSessionRepository(); if (sessionRepository.getLocalSession(sessionId) == null) - sessionRepository.createLocalSessionUsingDistributedApplicationPackage(sessionId); + sessionRepository.createLocalSessionFromDistributedApplicationPackage(sessionId); } } 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 2f4d309799d..489e6ca86a9 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 @@ -112,7 +112,7 @@ public class SessionRepository { private void loadSessions() { loadLocalSessions(); - initializeRemoteSessions(); + loadRemoteSessions(); } // ---------------- Local sessions ---------------------------------------------------------------- @@ -188,25 +188,12 @@ public class SessionRepository { * @param timeoutBudget Timeout for creating session and waiting for other servers. * @return a new session */ - public LocalSession createSession(File applicationDirectory, ApplicationId applicationId, TimeoutBudget timeoutBudget) { + public LocalSession createSessionFromApplicationPackage(File applicationDirectory, ApplicationId applicationId, TimeoutBudget timeoutBudget) { applicationRepo.createApplication(applicationId); Optional<Long> activeSessionId = applicationRepo.activeSessionOf(applicationId); return create(applicationDirectory, applicationId, activeSessionId, false, timeoutBudget); } - private LocalSession createSessionFromApplication(ApplicationPackage applicationPackage, - long sessionId, - TimeoutBudget timeoutBudget, - Clock clock) { - log.log(Level.FINE, () -> TenantRepository.logPre(tenantName) + "Creating session " + sessionId + " in ZooKeeper"); - SessionZooKeeperClient sessionZKClient = createSessionZooKeeperClient(sessionId); - sessionZKClient.createNewSession(clock.instant()); - Curator.CompletionWaiter waiter = sessionZKClient.getUploadWaiter(); - LocalSession session = createLocalSession(sessionId, applicationPackage); - waiter.awaitCompletion(timeoutBudget.timeLeft()); - return session; - } - /** * Creates a new deployment session from an already existing session. * @@ -244,22 +231,13 @@ public class SessionRepository { ensureSessionPathDoesNotExist(sessionId); ApplicationPackage app = createApplicationPackage(applicationFile, applicationId, sessionId, currentlyActiveSessionId, internalRedeploy); - return createSessionFromApplication(app, sessionId, timeoutBudget, clock); - } catch (Exception e) { - throw new RuntimeException("Error creating session " + sessionId, e); - } - } - - /** - * This method is used when creating a session based on a remote session and the distributed application package - * It does not wait for session being created on other servers - */ - private void createLocalSession(File applicationFile, ApplicationId applicationId, long sessionId) { - try { - Optional<Long> currentlyActiveSessionId = getActiveSessionId(applicationId); - ApplicationPackage applicationPackage = createApplicationPackage(applicationFile, applicationId, - sessionId, currentlyActiveSessionId, false); - createLocalSession(sessionId, applicationPackage); + SessionZooKeeperClient sessionZKClient = createSessionZooKeeperClient(sessionId); + log.log(Level.FINE, () -> TenantRepository.logPre(tenantName) + "Creating session " + sessionId + " in ZooKeeper"); + sessionZKClient.createNewSession(clock.instant()); + Curator.CompletionWaiter waiter = sessionZKClient.getUploadWaiter(); + LocalSession session = createLocalSession(sessionId, app); + waiter.awaitCompletion(timeoutBudget.timeLeft()); + return session; } catch (Exception e) { throw new RuntimeException("Error creating session " + sessionId, e); } @@ -325,7 +303,7 @@ public class SessionRepository { return children.stream().map(Long::parseLong).collect(Collectors.toList()); } - private void initializeRemoteSessions() throws NumberFormatException { + private void loadRemoteSessions() throws NumberFormatException { getRemoteSessions().forEach(this::sessionAdded); } @@ -344,7 +322,7 @@ public class SessionRepository { log.log(Level.FINE, () -> session.logPre() + "Confirming upload for session " + sessionId); confirmUpload(session); } - createLocalSessionUsingDistributedApplicationPackage(sessionId); + createLocalSessionFromDistributedApplicationPackage(sessionId); } void activate(RemoteSession session) { @@ -627,7 +605,7 @@ public class SessionRepository { * Returns a new local session for the given session id if it does not already exist. * Will also add the session to the local session cache if necessary */ - public void createLocalSessionUsingDistributedApplicationPackage(long sessionId) { + public void createLocalSessionFromDistributedApplicationPackage(long sessionId) { if (applicationRepo.sessionExistsInFileSystem(sessionId)) { log.log(Level.FINE, () -> "Local session for session id " + sessionId + " already exists"); createSessionFromId(sessionId); @@ -651,7 +629,14 @@ public class SessionRepository { } ApplicationId applicationId = sessionZKClient.readApplicationId() .orElseThrow(() -> new RuntimeException("Could not find application id for session " + sessionId)); - createLocalSession(sessionDir, applicationId, sessionId); + try { + Optional<Long> activeSessionId = getActiveSessionId(applicationId); + ApplicationPackage applicationPackage = createApplicationPackage(sessionDir, applicationId, + sessionId, activeSessionId, false); + createLocalSession(sessionId, applicationPackage); + } catch (Exception e) { + throw new RuntimeException("Error creating session " + sessionId, e); + } } } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java index b23d55b498f..00a0b51b14a 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java @@ -69,7 +69,7 @@ public class SessionStateWatcher { } private void createLocalSession(long sessionId) { - sessionRepository.createLocalSessionUsingDistributedApplicationPackage(sessionId); + sessionRepository.createLocalSessionFromDistributedApplicationPackage(sessionId); } public long getSessionId() { |