summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-08-14 21:05:26 +0200
committerGitHub <noreply@github.com>2018-08-14 21:05:26 +0200
commit7892f289d3cebcdba6ab16d035c41826b7cb7987 (patch)
treeebbfabd30f27ecca6715a1dbf76ce2075b62884d
parent5fbd8495e06fc356c029931a50465c5d87f8abdb (diff)
parent0021b4c6aeb35f0633ccea618338752dc03a733a (diff)
Merge pull request #6574 from vespa-engine/hmusum/delete-expired-remote-sessions-in-all-zones
Delete expired remote sessions in all zones
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java9
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionRepo.java10
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java2
4 files changed, 8 insertions, 18 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 4451271225d..a8b4844ca43 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
@@ -542,11 +542,10 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
listApplications().forEach(app -> tenantRepository.getTenant(app.tenant()).getLocalSessionRepo().purgeOldSessions());
}
- public int deleteExpiredRemoteSessions(Duration expiryTime, boolean deleteFromZooKeeper ) {
+ public int deleteExpiredRemoteSessions(Duration expiryTime) {
return listApplications()
.stream()
- .map(app -> tenantRepository.getTenant(app.tenant()).getRemoteSessionRepo()
- .deleteExpiredSessions(expiryTime, deleteFromZooKeeper))
+ .map(app -> tenantRepository.getTenant(app.tenant()).getRemoteSessionRepo().deleteExpiredSessions(expiryTime))
.mapToInt(i -> i)
.sum();
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java
index 0631fca6a32..bf9b438f9c6 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/SessionsMaintainer.java
@@ -1,8 +1,6 @@
// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.maintenance;
-import com.yahoo.config.provision.SystemName;
-import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.curator.Curator;
@@ -32,12 +30,7 @@ public class SessionsMaintainer extends Maintainer {
// probably due to some race or another bug
if (hostedVespa) {
Duration expiryTime = Duration.ofDays(30);
- Zone zone = applicationRepository.zone();
- // TODO: Delete in all zones
- boolean deleteFromZooKeeper = zone.system() == SystemName.cd ||
- zone.environment().isTest() ||
- zone.region().value().equals("us-central-1");
- applicationRepository.deleteExpiredRemoteSessions(expiryTime, deleteFromZooKeeper);
+ applicationRepository.deleteExpiredRemoteSessions(expiryTime);
}
}
}
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 39e08a328e5..fb5b5bb0be1 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
@@ -97,17 +97,15 @@ public class RemoteSessionRepo extends SessionRepo<RemoteSession> implements Nod
return getSessionList(curator.getChildren(sessionsPath));
}
- public int deleteExpiredSessions(Duration expiryTime, boolean deleteFromZooKeeper) {
+ public int deleteExpiredSessions(Duration expiryTime) {
int deleted = 0;
for (long sessionId : getSessions()) {
RemoteSession session = getSession(sessionId);
Instant created = Instant.ofEpochSecond(session.getCreateTime());
if (sessionHasExpired(created, expiryTime)) {
- log.log(LogLevel.INFO, "Remote session " + sessionId + " for " + tenantName + " has expired");
- if (deleteFromZooKeeper) {
- session.delete();
- deleted++;
- }
+ log.log(LogLevel.INFO, "Remote session " + sessionId + " for " + tenantName + " has expired, deleting it");
+ session.delete();
+ deleted++;
}
}
return deleted;
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
index 4a279c68c70..d9a653a1dc2 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
@@ -273,7 +273,7 @@ public class ApplicationRepositoryTest {
assertEquals(3, new ArrayList<>(sessions).get(0).getSessionId());
// There should be no expired remote sessions in the common case
- assertEquals(0, applicationRepository.deleteExpiredRemoteSessions(Duration.ofSeconds(0), true));
+ assertEquals(0, applicationRepository.deleteExpiredRemoteSessions(Duration.ofSeconds(0)));
}
private PrepareResult prepareAndActivateApp(File application) throws IOException {