diff options
author | Harald Musum <musum@yahoo-inc.com> | 2017-04-04 11:16:27 +0200 |
---|---|---|
committer | Harald Musum <musum@yahoo-inc.com> | 2017-04-04 11:16:27 +0200 |
commit | 640fc083391712169e7ccf866faf8b6707f193f1 (patch) | |
tree | 4ff0632f3c39bfb01b46958392547b830ec81cd0 /configserver | |
parent | 5901fd15c75439db4f35b984833e832a7647d594 (diff) |
Handle session disappearing
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionRepo.java | 14 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantBuilder.java | 2 |
2 files changed, 3 insertions, 13 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionRepo.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionRepo.java index c390f4d408c..f76d378af6a 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionRepo.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionRepo.java @@ -45,18 +45,7 @@ public class RemoteSessionRepo extends SessionRepo<RemoteSession> implements Nod private final Curator.DirectoryCache directoryCache; private final TenantApplications applicationRepo; - public static RemoteSessionRepo create(Curator curator, - RemoteSessionFactory remoteSessionFactory, - ReloadHandler reloadHandler, - Path sessionsPath, - TenantApplications applicationRepo, - MetricUpdater metrics, - ExecutorService executorService) throws Exception { - return new RemoteSessionRepo(curator, remoteSessionFactory, reloadHandler, sessionsPath, applicationRepo, metrics, executorService); - } - /** - * Used when the RemoteSessionRepo is set up programmatically from a Tenant, i.e. config v2 * @param curator a {@link Curator} instance. * @param remoteSessionFactory a {@link com.yahoo.vespa.config.server.session.RemoteSessionFactory} * @param reloadHandler a {@link com.yahoo.vespa.config.server.ReloadHandler} @@ -64,7 +53,7 @@ public class RemoteSessionRepo extends SessionRepo<RemoteSession> implements Nod * @param applicationRepo an {@link TenantApplications} object. * @param executorService an {@link ExecutorService} to run callbacks from ZooKeeper. */ - private RemoteSessionRepo(Curator curator, + public RemoteSessionRepo(Curator curator, RemoteSessionFactory remoteSessionFactory, ReloadHandler reloadHandler, Path sessionsPath, @@ -253,6 +242,7 @@ public class RemoteSessionRepo extends SessionRepo<RemoteSession> implements Nod private void synchronizeOnNew(List<Long> sessionList) { for (long sessionId : sessionList) { RemoteSession session = getSession(sessionId); + if (session == null) continue; // session might have been deleted after getting session list log.log(LogLevel.DEBUG, session.logPre() + "Confirming upload for session " + sessionId); session.confirmUpload(); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantBuilder.java index 07b68d8ab90..20c33c4c07a 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantBuilder.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantBuilder.java @@ -175,7 +175,7 @@ public class TenantBuilder { private void createRemoteSessionRepo() throws Exception { if (remoteSessionRepo == null) { - remoteSessionRepo = RemoteSessionRepo.create(componentRegistry.getCurator(), + remoteSessionRepo = new RemoteSessionRepo(componentRegistry.getCurator(), remoteSessionFactory, reloadHandler, sessionsPath, |