aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-05-16 11:19:07 +0200
committerHarald Musum <musum@oath.com>2018-05-16 11:19:07 +0200
commit871d8dc26313741d60352e7ae39acb58e4b7bcf3 (patch)
tree258c7938d933c99d3c5b9fe319e7c0fd01442577
parent6cd386889df2cfa589602fe9926f1eac0c0fe519 (diff)
Use only one thread for purgind old sessions
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java8
1 files changed, 7 insertions, 1 deletions
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 6a3e9c77809..550b08f3d5c 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
@@ -1,7 +1,9 @@
// 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.concurrent.ThreadFactoryFactory;
import com.yahoo.log.LogLevel;
+import com.yahoo.vespa.config.server.application.ZKTenantApplications;
import com.yahoo.vespa.config.server.deploy.TenantFileSystemDirs;
import java.io.File;
@@ -10,6 +12,8 @@ import java.time.Clock;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -26,7 +30,9 @@ public class LocalSessionRepo extends SessionRepo<LocalSession> {
private static final FilenameFilter sessionApplicationsFilter = (dir, name) -> name.matches("\\d+");
private static final Duration delay = Duration.ofMinutes(5);
- private final ScheduledExecutorService purgeOldSessionsExecutor = new ScheduledThreadPoolExecutor(1);
+ // One executor for all instances of this class
+ private static final ScheduledExecutorService purgeOldSessionsExecutor =
+ new ScheduledThreadPoolExecutor(1, ThreadFactoryFactory.getDaemonThreadFactory("purge-old-sessions"));
private final long sessionLifetime; // in seconds
private final Clock clock;