diff options
author | Harald Musum <musum@oath.com> | 2018-05-16 11:19:07 +0200 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2018-05-16 11:19:07 +0200 |
commit | 871d8dc26313741d60352e7ae39acb58e4b7bcf3 (patch) | |
tree | 258c7938d933c99d3c5b9fe319e7c0fd01442577 | |
parent | 6cd386889df2cfa589602fe9926f1eac0c0fe519 (diff) |
Use only one thread for purgind 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; |