From 9a612508ff9a4aa276dbd3dd14a6e4047a273b66 Mon Sep 17 00:00:00 2001 From: wutingjia <33154970+wutingjia@users.noreply.github.com> Date: Fri, 4 Jun 2021 13:32:21 +0800 Subject: [PATCH] Make all backend thread pools daemon (#2181) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat:make command center thread daemon * feat:make all NamedThreadFactory thread daemon --- .../csp/sentinel/cluster/client/NettyTransportClient.java | 2 +- .../statistic/concurrent/expire/RegularExpireStrategy.java | 2 +- .../csp/sentinel/dashboard/metric/MetricFetcher.java | 6 +++--- .../csp/sentinel/datasource/nacos/NacosDataSource.java | 2 +- .../sentinel/datasource/zookeeper/ZookeeperDataSource.java | 2 +- .../sentinel/transport/command/NettyHttpCommandCenter.java | 2 +- .../sentinel/transport/command/SimpleHttpCommandCenter.java | 4 ++-- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sentinel-cluster/sentinel-cluster-client-default/src/main/java/com/alibaba/csp/sentinel/cluster/client/NettyTransportClient.java b/sentinel-cluster/sentinel-cluster-client-default/src/main/java/com/alibaba/csp/sentinel/cluster/client/NettyTransportClient.java index 51823d3b..9286e176 100644 --- a/sentinel-cluster/sentinel-cluster-client-default/src/main/java/com/alibaba/csp/sentinel/cluster/client/NettyTransportClient.java +++ b/sentinel-cluster/sentinel-cluster-client-default/src/main/java/com/alibaba/csp/sentinel/cluster/client/NettyTransportClient.java @@ -62,7 +62,7 @@ public class NettyTransportClient implements ClusterTransportClient { @SuppressWarnings("PMD.ThreadPoolCreationRule") private static final ScheduledExecutorService SCHEDULER = Executors.newScheduledThreadPool(1, - new NamedThreadFactory("sentinel-cluster-transport-client-scheduler")); + new NamedThreadFactory("sentinel-cluster-transport-client-scheduler", true)); public static final int RECONNECT_DELAY_MS = 2000; diff --git a/sentinel-cluster/sentinel-cluster-server-default/src/main/java/com/alibaba/csp/sentinel/cluster/flow/statistic/concurrent/expire/RegularExpireStrategy.java b/sentinel-cluster/sentinel-cluster-server-default/src/main/java/com/alibaba/csp/sentinel/cluster/flow/statistic/concurrent/expire/RegularExpireStrategy.java index 0aa633a0..24fd42fb 100644 --- a/sentinel-cluster/sentinel-cluster-server-default/src/main/java/com/alibaba/csp/sentinel/cluster/flow/statistic/concurrent/expire/RegularExpireStrategy.java +++ b/sentinel-cluster/sentinel-cluster-server-default/src/main/java/com/alibaba/csp/sentinel/cluster/flow/statistic/concurrent/expire/RegularExpireStrategy.java @@ -66,7 +66,7 @@ public class RegularExpireStrategy implements ExpireStrategy { @SuppressWarnings("PMD.ThreadPoolCreationRule") private static ScheduledExecutorService executor = Executors.newScheduledThreadPool(1, - new NamedThreadFactory("regular clear expired token thread")); + new NamedThreadFactory("regular clear expired token thread", true)); public RegularExpireStrategy(ConcurrentLinkedHashMap localCache) { diff --git a/sentinel-dashboard/src/main/java/com/alibaba/csp/sentinel/dashboard/metric/MetricFetcher.java b/sentinel-dashboard/src/main/java/com/alibaba/csp/sentinel/dashboard/metric/MetricFetcher.java index d3e4b588..05fc6cf0 100755 --- a/sentinel-dashboard/src/main/java/com/alibaba/csp/sentinel/dashboard/metric/MetricFetcher.java +++ b/sentinel-dashboard/src/main/java/com/alibaba/csp/sentinel/dashboard/metric/MetricFetcher.java @@ -89,7 +89,7 @@ public class MetricFetcher { @SuppressWarnings("PMD.ThreadPoolCreationRule") private ScheduledExecutorService fetchScheduleService = Executors.newScheduledThreadPool(1, - new NamedThreadFactory("sentinel-dashboard-metrics-fetch-task")); + new NamedThreadFactory("sentinel-dashboard-metrics-fetch-task", true)); private ExecutorService fetchService; private ExecutorService fetchWorker; @@ -100,10 +100,10 @@ public class MetricFetcher { RejectedExecutionHandler handler = new DiscardPolicy(); fetchService = new ThreadPoolExecutor(cores, cores, keepAliveTime, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<>(queueSize), - new NamedThreadFactory("sentinel-dashboard-metrics-fetchService"), handler); + new NamedThreadFactory("sentinel-dashboard-metrics-fetchService", true), handler); fetchWorker = new ThreadPoolExecutor(cores, cores, keepAliveTime, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<>(queueSize), - new NamedThreadFactory("sentinel-dashboard-metrics-fetchWorker"), handler); + new NamedThreadFactory("sentinel-dashboard-metrics-fetchWorker",true), handler); IOReactorConfig ioConfig = IOReactorConfig.custom() .setConnectTimeout(3000) .setSoTimeout(3000) diff --git a/sentinel-extension/sentinel-datasource-nacos/src/main/java/com/alibaba/csp/sentinel/datasource/nacos/NacosDataSource.java b/sentinel-extension/sentinel-datasource-nacos/src/main/java/com/alibaba/csp/sentinel/datasource/nacos/NacosDataSource.java index f6604566..ee5c7190 100644 --- a/sentinel-extension/sentinel-datasource-nacos/src/main/java/com/alibaba/csp/sentinel/datasource/nacos/NacosDataSource.java +++ b/sentinel-extension/sentinel-datasource-nacos/src/main/java/com/alibaba/csp/sentinel/datasource/nacos/NacosDataSource.java @@ -47,7 +47,7 @@ public class NacosDataSource extends AbstractDataSource { * Single-thread pool. Once the thread pool is blocked, we throw up the old task. */ private final ExecutorService pool = new ThreadPoolExecutor(1, 1, 0, TimeUnit.MILLISECONDS, - new ArrayBlockingQueue(1), new NamedThreadFactory("sentinel-nacos-ds-update"), + new ArrayBlockingQueue(1), new NamedThreadFactory("sentinel-nacos-ds-update", true), new ThreadPoolExecutor.DiscardOldestPolicy()); private final Listener configListener; diff --git a/sentinel-extension/sentinel-datasource-zookeeper/src/main/java/com/alibaba/csp/sentinel/datasource/zookeeper/ZookeeperDataSource.java b/sentinel-extension/sentinel-datasource-zookeeper/src/main/java/com/alibaba/csp/sentinel/datasource/zookeeper/ZookeeperDataSource.java index 2ff66aa2..5e7e95e8 100644 --- a/sentinel-extension/sentinel-datasource-zookeeper/src/main/java/com/alibaba/csp/sentinel/datasource/zookeeper/ZookeeperDataSource.java +++ b/sentinel-extension/sentinel-datasource-zookeeper/src/main/java/com/alibaba/csp/sentinel/datasource/zookeeper/ZookeeperDataSource.java @@ -37,7 +37,7 @@ public class ZookeeperDataSource extends AbstractDataSource { private final ExecutorService pool = new ThreadPoolExecutor(1, 1, 0, TimeUnit.MILLISECONDS, - new ArrayBlockingQueue(1), new NamedThreadFactory("sentinel-zookeeper-ds-update"), + new ArrayBlockingQueue(1), new NamedThreadFactory("sentinel-zookeeper-ds-update", true), new ThreadPoolExecutor.DiscardOldestPolicy()); private NodeCacheListener listener; diff --git a/sentinel-transport/sentinel-transport-netty-http/src/main/java/com/alibaba/csp/sentinel/transport/command/NettyHttpCommandCenter.java b/sentinel-transport/sentinel-transport-netty-http/src/main/java/com/alibaba/csp/sentinel/transport/command/NettyHttpCommandCenter.java index 0db625ac..5f3255ad 100755 --- a/sentinel-transport/sentinel-transport-netty-http/src/main/java/com/alibaba/csp/sentinel/transport/command/NettyHttpCommandCenter.java +++ b/sentinel-transport/sentinel-transport-netty-http/src/main/java/com/alibaba/csp/sentinel/transport/command/NettyHttpCommandCenter.java @@ -39,7 +39,7 @@ public class NettyHttpCommandCenter implements CommandCenter { @SuppressWarnings("PMD.ThreadPoolCreationRule") private final ExecutorService pool = Executors.newSingleThreadExecutor( - new NamedThreadFactory("sentinel-netty-command-center-executor")); + new NamedThreadFactory("sentinel-netty-command-center-executor", true)); @Override public void start() throws Exception { diff --git a/sentinel-transport/sentinel-transport-simple-http/src/main/java/com/alibaba/csp/sentinel/transport/command/SimpleHttpCommandCenter.java b/sentinel-transport/sentinel-transport-simple-http/src/main/java/com/alibaba/csp/sentinel/transport/command/SimpleHttpCommandCenter.java index 484b8b69..5aeb649c 100755 --- a/sentinel-transport/sentinel-transport-simple-http/src/main/java/com/alibaba/csp/sentinel/transport/command/SimpleHttpCommandCenter.java +++ b/sentinel-transport/sentinel-transport-simple-http/src/main/java/com/alibaba/csp/sentinel/transport/command/SimpleHttpCommandCenter.java @@ -57,7 +57,7 @@ public class SimpleHttpCommandCenter implements CommandCenter { @SuppressWarnings("PMD.ThreadPoolCreationRule") private ExecutorService executor = Executors.newSingleThreadExecutor( - new NamedThreadFactory("sentinel-command-center-executor")); + new NamedThreadFactory("sentinel-command-center-executor", true)); private ExecutorService bizExecutor; private ServerSocket socketReference; @@ -75,7 +75,7 @@ public class SimpleHttpCommandCenter implements CommandCenter { int nThreads = Runtime.getRuntime().availableProcessors(); this.bizExecutor = new ThreadPoolExecutor(nThreads, nThreads, 0L, TimeUnit.MILLISECONDS, new ArrayBlockingQueue(10), - new NamedThreadFactory("sentinel-command-center-service-executor"), + new NamedThreadFactory("sentinel-command-center-service-executor", true), new RejectedExecutionHandler() { @Override public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {