aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-05-16 11:40:14 +0200
committerGitHub <noreply@github.com>2018-05-16 11:40:14 +0200
commitc1051ea63a3f152efca8b47151217babb40ea9e4 (patch)
treea2a4728462d58b4ade14082f2f5277e7444b265a
parent5060a7683d1d0360d52dead4cc73c0bea7f90f6e (diff)
parent871d8dc26313741d60352e7ae39acb58e4b7bcf3 (diff)
Merge pull request #5884 from vespa-engine/hmusum/use-thread-pool-3
Use only one thread for purging 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;