diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-05-16 11:40:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-16 11:40:14 +0200 |
commit | c1051ea63a3f152efca8b47151217babb40ea9e4 (patch) | |
tree | a2a4728462d58b4ade14082f2f5277e7444b265a | |
parent | 5060a7683d1d0360d52dead4cc73c0bea7f90f6e (diff) | |
parent | 871d8dc26313741d60352e7ae39acb58e4b7bcf3 (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.java | 8 |
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; |