HBASE-25279 Make ZKWatcher ExecutorService launch daemon threads

Closes #2651

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Yulin Niu <niuyulin@apache.org>
diff --git a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java
index 136134d..7a9fdd6 100644
--- a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java
+++ b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java
@@ -97,7 +97,7 @@
   // It is ok to do it in a single thread because the Zookeeper ClientCnxn already serializes the
   // requests using a single while loop and hence there is no performance degradation.
   private final ExecutorService zkEventProcessor = Executors.newSingleThreadExecutor(
-    new ThreadFactoryBuilder().setNameFormat("zk-event-processor-pool-%d")
+    new ThreadFactoryBuilder().setNameFormat("zk-event-processor-pool-%d").setDaemon(true)
       .setUncaughtExceptionHandler(Threads.LOGGING_EXCEPTION_HANDLER).build());
 
   private final Configuration conf;