You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ra...@apache.org on 2020/02/18 19:01:23 UTC

[curator] branch CURATOR-560-set-tick-time created (now 9c54bab)

This is an automated email from the ASF dual-hosted git repository.

randgalt pushed a change to branch CURATOR-560-set-tick-time
in repository https://gitbox.apache.org/repos/asf/curator.git.


      at 9c54bab  CURATOR-560

This branch includes the following new commits:

     new 9c54bab  CURATOR-560

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[curator] 01/01: CURATOR-560

Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

randgalt pushed a commit to branch CURATOR-560-set-tick-time
in repository https://gitbox.apache.org/repos/asf/curator.git

commit 9c54babcf93d783eb301f11b2a14d78c3034c671
Author: randgalt <ra...@apache.org>
AuthorDate: Tue Feb 18 13:59:52 2020 -0500

    CURATOR-560
    
    a) make sure setReuseAddress is set for server when getting a random port
    b) always set "tickTime" and "minSessionTimeout" to make our tests run a bit faster
    c) fixed incorrect exception message in blockUntilStarted()
---
 .../src/main/java/org/apache/curator/test/InstanceSpec.java   |  1 +
 .../java/org/apache/curator/test/QuorumConfigBuilder.java     | 11 +++++------
 .../java/org/apache/curator/test/TestingZooKeeperMain.java    |  4 +++-
 .../java/org/apache/curator/test/compatibility/Timing2.java   | 11 +++++++++++
 4 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/curator-test/src/main/java/org/apache/curator/test/InstanceSpec.java b/curator-test/src/main/java/org/apache/curator/test/InstanceSpec.java
index d04e09f..8948f4d 100644
--- a/curator-test/src/main/java/org/apache/curator/test/InstanceSpec.java
+++ b/curator-test/src/main/java/org/apache/curator/test/InstanceSpec.java
@@ -89,6 +89,7 @@ public class InstanceSpec
         try
         {
             server = new ServerSocket(0);
+            server.setReuseAddress(true);
             return server.getLocalPort();
         }
         catch ( IOException e )
diff --git a/curator-test/src/main/java/org/apache/curator/test/QuorumConfigBuilder.java b/curator-test/src/main/java/org/apache/curator/test/QuorumConfigBuilder.java
index d385103..fbfe864 100644
--- a/curator-test/src/main/java/org/apache/curator/test/QuorumConfigBuilder.java
+++ b/curator-test/src/main/java/org/apache/curator/test/QuorumConfigBuilder.java
@@ -22,6 +22,7 @@ package org.apache.curator.test;
 import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableList;
 import com.google.common.io.Files;
+import org.apache.curator.test.compatibility.Timing2;
 import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
 import java.io.Closeable;
 import java.io.File;
@@ -40,7 +41,7 @@ public class QuorumConfigBuilder implements Closeable
 
     public QuorumConfigBuilder(Collection<InstanceSpec> specs)
     {
-        this(specs.toArray(new InstanceSpec[specs.size()]));
+        this(specs.toArray(new InstanceSpec[0]));
     }
 
     public QuorumConfigBuilder(InstanceSpec... specs)
@@ -109,11 +110,9 @@ public class QuorumConfigBuilder implements Closeable
         properties.setProperty("syncLimit", "5");
         properties.setProperty("dataDir", spec.getDataDirectory().getCanonicalPath());
         properties.setProperty("clientPort", Integer.toString(spec.getPort()));
-        int tickTime = spec.getTickTime();
-        if ( tickTime >= 0 )
-        {
-            properties.setProperty("tickTime", Integer.toString(tickTime));
-        }
+        String tickTime = Integer.toString((spec.getTickTime() >= 0) ? spec.getTickTime() : new Timing2().tickTime());
+        properties.setProperty("tickTime", tickTime);
+        properties.setProperty("minSessionTimeout", tickTime);
         int maxClientCnxns = spec.getMaxClientCnxns();
         if ( maxClientCnxns >= 0 )
         {
diff --git a/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperMain.java b/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperMain.java
index 841df77..574b4f5 100644
--- a/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperMain.java
+++ b/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperMain.java
@@ -143,7 +143,9 @@ public class TestingZooKeeperMain implements ZooKeeperMainFace
     public void blockUntilStarted() throws Exception
     {
         if(!timing.awaitLatch(latch))
-            throw new IllegalStateException("Timed out waiting for watch removal");
+        {
+            throw new IllegalStateException("Timed out waiting for server startup");
+        }
 
         if ( zkServer != null )
         {
diff --git a/curator-test/src/main/java/org/apache/curator/test/compatibility/Timing2.java b/curator-test/src/main/java/org/apache/curator/test/compatibility/Timing2.java
index ad105eb..f9ee75b 100644
--- a/curator-test/src/main/java/org/apache/curator/test/compatibility/Timing2.java
+++ b/curator-test/src/main/java/org/apache/curator/test/compatibility/Timing2.java
@@ -36,6 +36,7 @@ public class Timing2
     private final TimeUnit unit;
     private final int waitingMultiple;
 
+    private static final double TICK_TIME_MULTIPLE = .10;
     private static final int DEFAULT_SECONDS = 10;
     private static final int DEFAULT_WAITING_MULTIPLE = 5;
     private static final double SESSION_MULTIPLE = 1.5;
@@ -292,6 +293,16 @@ public class Timing2
         return milliseconds();
     }
 
+    /**
+     * Value to use for server "tickTime"
+     *
+     * @return tick time
+     */
+    public int tickTime()
+    {
+        return (int)Math.max(1, milliseconds() * TICK_TIME_MULTIPLE);
+    }
+
     private static Integer getWaitingMultiple()
     {
         return Integer.getInteger("timing-waiting-multiple", DEFAULT_WAITING_MULTIPLE);