KYLIN-2619 Use newCachedThreadPool instead of newFixedThreadPool in Broadcaster


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/1c3ed36f
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/1c3ed36f
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/1c3ed36f

Branch: refs/heads/KYLIN-2606
Commit: 1c3ed36f7dcf2152b17966bb69dd3211ce4e8aba
Parents: 1c80c29
Author: gaodayue <gaoda...@meituan.com>
Authored: Sat May 6 05:21:22 2017 +0800
Committer: kangkaisen <kangkai...@live.com>
Committed: Mon May 15 16:02:01 2017 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/common/restclient/RestClient.java   | 4 ++++
 .../java/org/apache/kylin/metadata/cachesync/Broadcaster.java | 7 +++++--
 2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/1c3ed36f/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
----------------------------------------------------------------------
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java 
b/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
index 33a4e7a..470386b 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
@@ -287,4 +287,8 @@ public class RestClient {
         return result.toString();
     }
 
+    @Override
+    public String toString() {
+        return String.format("RestClient(%s:%d)", host, port);
+    }
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/1c3ed36f/core-metadata/src/main/java/org/apache/kylin/metadata/cachesync/Broadcaster.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/cachesync/Broadcaster.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/cachesync/Broadcaster.java
index 1394f7b..e787dfd 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/cachesync/Broadcaster.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/cachesync/Broadcaster.java
@@ -35,6 +35,7 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.restclient.RestClient;
 import org.apache.kylin.common.util.DaemonThreadFactory;
+import org.apache.kylin.common.util.SetThreadName;
 import org.apache.kylin.metadata.project.ProjectManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -116,7 +117,7 @@ public class Broadcaster {
                 for (String node : config.getRestServers()) {
                     restClients.add(new RestClient(node));
                 }
-                final ExecutorService wipingCachePool = 
Executors.newFixedThreadPool(restClients.size(), new DaemonThreadFactory());
+                final ExecutorService wipingCachePool = 
Executors.newCachedThreadPool(new DaemonThreadFactory());
                 while (true) {
                     try {
                         final BroadcastEvent broadcastEvent = 
broadcastEvents.takeFirst();
@@ -125,8 +126,10 @@ public class Broadcaster {
                             wipingCachePool.execute(new Runnable() {
                                 @Override
                                 public void run() {
-                                    try {
+                                    try (SetThreadName ignored = new 
SetThreadName("CacheWiper %s %s", restClient, broadcastEvent)) {
+                                        logger.info("{} wipe cache {}", 
restClient, broadcastEvent);
                                         
restClient.wipeCache(broadcastEvent.getEntity(), broadcastEvent.getEvent(), 
broadcastEvent.getCacheKey());
+                                        logger.info("{} wipe cache {} 
success", restClient, broadcastEvent);
                                     } catch (IOException e) {
                                         logger.warn("Thread failed during wipe 
cache at " + broadcastEvent, e);
                                     }

Reply via email to