aboutsummaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-10-07 12:49:34 +0200
committerHarald Musum <musum@verizonmedia.com>2020-10-07 12:49:34 +0200
commit786eb0a1d2015538f38c09f301a49292afb33894 (patch)
tree0c8381d37d2c838d3e5dfe7e38e4c7373713866d /configserver
parent4b20506671ba1773bf71dec167ccea6ad1b75c0a (diff)
Inline and rename some methods
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java55
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java2
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() {