Repository: incubator-ratis
Updated Branches:
  refs/heads/master a82cd7b12 -> 9b2d7b65c


RATIS-348. TimeoutScheduler and SlidingWindow should use daemon threads. 
Contributed by Tsz Wo Nicholas Sze.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ratis/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ratis/commit/9b2d7b65
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ratis/tree/9b2d7b65
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ratis/diff/9b2d7b65

Branch: refs/heads/master
Commit: 9b2d7b65cf271e2b3b3616d427edf2688586a56c
Parents: a82cd7b
Author: Jitendra Pandey <[email protected]>
Authored: Thu Oct 11 12:14:43 2018 -0700
Committer: Jitendra Pandey <[email protected]>
Committed: Thu Oct 11 12:14:43 2018 -0700

----------------------------------------------------------------------
 ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java   | 2 +-
 .../src/main/java/org/apache/ratis/util/SlidingWindow.java        | 3 ++-
 .../src/main/java/org/apache/ratis/util/TimeoutScheduler.java     | 2 +-
 ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java  | 2 +-
 ratis-server/src/test/java/org/apache/ratis/RaftAsyncTests.java   | 3 +--
 5 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/9b2d7b65/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
----------------------------------------------------------------------
diff --git a/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java 
b/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
index dd8eb39..ceca8b8 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
@@ -186,7 +186,7 @@ public interface JavaUtils {
   }
 
   static Timer runRepeatedly(Runnable runnable, long delay, long period, 
TimeUnit unit) {
-    final Timer timer = new Timer();
+    final Timer timer = new Timer(true);
     timer.schedule(new TimerTask() {
       @Override
       public void run() {

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/9b2d7b65/ratis-common/src/main/java/org/apache/ratis/util/SlidingWindow.java
----------------------------------------------------------------------
diff --git 
a/ratis-common/src/main/java/org/apache/ratis/util/SlidingWindow.java 
b/ratis-common/src/main/java/org/apache/ratis/util/SlidingWindow.java
index 6ded6f7..ca622dd 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/SlidingWindow.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/SlidingWindow.java
@@ -46,13 +46,14 @@ public interface SlidingWindow {
 
   /** A seqNum-to-request map, sorted by seqNum. */
   class RequestMap<REQUEST extends Request<REPLY>, REPLY> implements 
Iterable<REQUEST> {
+    static boolean LOG_REPEATEDLY = false;
     private final Object name;
     /** Request map: seqNum -> request */
     private final SortedMap<Long, REQUEST> requests = new TreeMap<>();
 
     RequestMap(Object name) {
       this.name = name;
-      if (LOG.isDebugEnabled()) {
+      if (LOG_REPEATEDLY && LOG.isDebugEnabled()) {
         JavaUtils.runRepeatedly(() -> log(), 5, 10, TimeUnit.SECONDS);
       }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/9b2d7b65/ratis-common/src/main/java/org/apache/ratis/util/TimeoutScheduler.java
----------------------------------------------------------------------
diff --git 
a/ratis-common/src/main/java/org/apache/ratis/util/TimeoutScheduler.java 
b/ratis-common/src/main/java/org/apache/ratis/util/TimeoutScheduler.java
index 7007a53..62e74e5 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/TimeoutScheduler.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/TimeoutScheduler.java
@@ -94,7 +94,7 @@ public final class TimeoutScheduler {
     if (scheduler == null) {
       Preconditions.assertTrue(numTasks == 0);
       LOG.debug("Initialize scheduler");
-      scheduler = Executors.newScheduledThreadPool(numThreads);
+      scheduler = Executors.newScheduledThreadPool(numThreads, Daemon::new);
     }
     numTasks++;
     final int sid = scheduleID++;

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/9b2d7b65/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java
----------------------------------------------------------------------
diff --git a/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java 
b/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java
index da81fc3..921a7ce 100644
--- a/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java
+++ b/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java
@@ -576,7 +576,7 @@ public abstract class MiniRaftCluster implements Closeable {
     LOG.info("************************************************************** 
");
     LOG.info(printServers());
 
-    final ExecutorService executor = 
Executors.newFixedThreadPool(servers.size());
+    final ExecutorService executor = 
Executors.newFixedThreadPool(servers.size(), Daemon::new);
     try {
       getServers().forEach(proxy -> executor.submit(proxy::close));
       // just wait for a few seconds

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/9b2d7b65/ratis-server/src/test/java/org/apache/ratis/RaftAsyncTests.java
----------------------------------------------------------------------
diff --git a/ratis-server/src/test/java/org/apache/ratis/RaftAsyncTests.java 
b/ratis-server/src/test/java/org/apache/ratis/RaftAsyncTests.java
index 26213e2..7e7c559 100644
--- a/ratis-server/src/test/java/org/apache/ratis/RaftAsyncTests.java
+++ b/ratis-server/src/test/java/org/apache/ratis/RaftAsyncTests.java
@@ -116,13 +116,12 @@ public abstract class RaftAsyncTests<CLUSTER extends 
MiniRaftCluster> extends Ba
     }
     Assert.assertTrue(blockedRequestsCount.get() == 0);
 
-    ExecutorService threadPool = Executors.newFixedThreadPool(1);
     futures[numMessages] = CompletableFuture.supplyAsync(() -> {
       blockedRequestsCount.incrementAndGet();
       client.sendAsync(new RaftTestUtil.SimpleMessage("n1"));
       blockedRequestsCount.decrementAndGet();
       return null;
-    }, threadPool);
+    });
 
     //Allow the last msg to be sent
     while (blockedRequestsCount.get() != 1) {

Reply via email to