From d96e31c6ccf6955da17be66fb8af4b0c2c7a6923 Mon Sep 17 00:00:00 2001 From: Qishang Zhong Date: Fri, 23 Apr 2021 22:03:11 +0800 Subject: [PATCH] 1. Create a daemon thread pool for etcd client 2. Add name format for ExecutorService Signed-off-by: Qishang Zhong --- src/main/java/org/tikv/common/PDClient.java | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/tikv/common/PDClient.java b/src/main/java/org/tikv/common/PDClient.java index 17e9d0460fe..9bbda330bad 100644 --- a/src/main/java/org/tikv/common/PDClient.java +++ b/src/main/java/org/tikv/common/PDClient.java @@ -531,7 +531,16 @@ private void initCluster() { GetMembersResponse resp = null; List pdAddrs = getConf().getPdAddrs(); this.pdAddrs = pdAddrs; - this.etcdClient = Client.builder().endpoints(pdAddrs).build(); + this.etcdClient = + Client.builder() + .endpoints(pdAddrs) + .executorService( + Executors.newCachedThreadPool( + new ThreadFactoryBuilder() + .setNameFormat("etcd-conn-manager-pool-%d") + .setDaemon(true) + .build())) + .build(); this.hostMapping = new HostMapping(this.etcdClient, conf.getNetworkMappingName()); for (URI u : pdAddrs) { resp = getMembers(u); @@ -547,7 +556,10 @@ private void initCluster() { createLeaderWrapper(resp.getLeader().getClientUrls(0)); service = Executors.newSingleThreadScheduledExecutor( - new ThreadFactoryBuilder().setDaemon(true).build()); + new ThreadFactoryBuilder() + .setNameFormat("PDClient-update-leader-pool-%d") + .setDaemon(true) + .build()); service.scheduleAtFixedRate( () -> { // Wrap this with a try catch block in case schedule update fails @@ -562,7 +574,10 @@ private void initCluster() { TimeUnit.MINUTES); tiflashReplicaService = Executors.newSingleThreadScheduledExecutor( - new ThreadFactoryBuilder().setDaemon(true).build()); + new ThreadFactoryBuilder() + .setNameFormat("PDClient-tiflash-replica-pool-%d") + .setDaemon(true) + .build()); tiflashReplicaService.scheduleAtFixedRate( this::updateTiFlashReplicaStatus, 10, 10, TimeUnit.SECONDS); }