wip

Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/0603e958
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/0603e958
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/0603e958

Branch: refs/heads/CURATOR-3.0
Commit: 0603e95834d8596d2397620cd29235d5a62da700
Parents: fad2708
Author: randgalt <randg...@apache.org>
Authored: Thu Sep 10 20:43:37 2015 -0500
Committer: randgalt <randg...@apache.org>
Committed: Thu Sep 10 20:43:37 2015 -0500

----------------------------------------------------------------------
 .../curator/framework/imps/TestFramework.java   |  4 +--
 .../framework/imps/TestReconfiguration.java     |  3 +-
 .../locks/TestInterProcessMutexBase.java        |  4 +--
 .../curator/test/QuorumConfigBuilder.java       | 36 ++++++++++++++++++--
 .../curator/test/TestingZooKeeperMain.java      | 18 +++++++++-
 .../curator/test/TestingZooKeeperServer.java    |  2 ++
 pom.xml                                         |  3 +-
 7 files changed, 61 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/curator/blob/0603e958/curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
----------------------------------------------------------------------
diff --git 
a/curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
 
b/curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
index 811631c..472e0fc 100644
--- 
a/curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
+++ 
b/curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
@@ -59,7 +59,7 @@ public class TestFramework extends BaseClassForTests
     @Override
     public void setup() throws Exception
     {
-        System.setProperty("container.checkIntervalMs", "1000");
+        System.setProperty("znode.container.checkIntervalMs", "1000");
         super.setup();
     }
 
@@ -67,7 +67,7 @@ public class TestFramework extends BaseClassForTests
     @Override
     public void teardown() throws Exception
     {
-        System.clearProperty("container.checkIntervalMs");
+        System.clearProperty("znode.container.checkIntervalMs");
         super.teardown();
     }
 

http://git-wip-us.apache.org/repos/asf/curator/blob/0603e958/curator-framework/src/test/java/org/apache/curator/framework/imps/TestReconfiguration.java
----------------------------------------------------------------------
diff --git 
a/curator-framework/src/test/java/org/apache/curator/framework/imps/TestReconfiguration.java
 
b/curator-framework/src/test/java/org/apache/curator/framework/imps/TestReconfiguration.java
index 2438ef8..a99617b 100644
--- 
a/curator-framework/src/test/java/org/apache/curator/framework/imps/TestReconfiguration.java
+++ 
b/curator-framework/src/test/java/org/apache/curator/framework/imps/TestReconfiguration.java
@@ -27,6 +27,7 @@ import org.apache.curator.framework.api.BackgroundCallback;
 import org.apache.curator.framework.api.CuratorEvent;
 import org.apache.curator.framework.ensemble.EnsembleTracker;
 import org.apache.curator.retry.RetryOneTime;
+import org.apache.curator.test.BaseClassForTests;
 import org.apache.curator.test.InstanceSpec;
 import org.apache.curator.test.TestingCluster;
 import org.apache.curator.test.Timing;
@@ -47,7 +48,7 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicReference;
 
-public class TestReconfiguration
+public class TestReconfiguration extends BaseClassForTests
 {
     private static final Timing timing = new Timing();
     private TestingCluster cluster;

http://git-wip-us.apache.org/repos/asf/curator/blob/0603e958/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessMutexBase.java
----------------------------------------------------------------------
diff --git 
a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessMutexBase.java
 
b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessMutexBase.java
index 5a8168e..0cf8d45 100644
--- 
a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessMutexBase.java
+++ 
b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessMutexBase.java
@@ -211,7 +211,7 @@ public abstract class TestInterProcessMutexBase extends 
BaseClassForTests
 
         server.close();
 
-        System.setProperty("container.checkIntervalMs", "10");
+        System.setProperty("znode.container.checkIntervalMs", "10");
         try
         {
             server = new TestingServer();
@@ -272,7 +272,7 @@ public abstract class TestInterProcessMutexBase extends 
BaseClassForTests
         }
         finally
         {
-            System.clearProperty("container.checkIntervalMs");
+            System.clearProperty("znode.container.checkIntervalMs");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/curator/blob/0603e958/curator-test/src/main/java/org/apache/curator/test/QuorumConfigBuilder.java
----------------------------------------------------------------------
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 02979ee..17bb185 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
@@ -19,19 +19,23 @@
 
 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.zookeeper.server.quorum.QuorumPeerConfig;
+import java.io.Closeable;
 import java.io.File;
+import java.io.IOException;
 import java.util.Collection;
 import java.util.List;
 import java.util.Properties;
 
 @SuppressWarnings("UnusedDeclaration")
-public class QuorumConfigBuilder
+public class QuorumConfigBuilder implements Closeable
 {
     private final ImmutableList<InstanceSpec> instanceSpecs;
     private final boolean fromRandom;
+    private final File fakeConfigFile;
 
     public QuorumConfigBuilder(Collection<InstanceSpec> specs)
     {
@@ -42,6 +46,16 @@ public class QuorumConfigBuilder
     {
         fromRandom = (specs == null) || (specs.length == 0);
         instanceSpecs = fromRandom ? 
ImmutableList.of(InstanceSpec.newInstanceSpec()) : ImmutableList.copyOf(specs);
+        File fakeConfigFile = null;
+        try
+        {
+            fakeConfigFile = File.createTempFile("temp", "temp");
+        }
+        catch ( IOException e )
+        {
+            Throwables.propagate(e);
+        }
+        this.fakeConfigFile = fakeConfigFile;
     }
 
     public boolean isFromRandom()
@@ -69,6 +83,16 @@ public class QuorumConfigBuilder
         return instanceSpecs.size();
     }
 
+    @Override
+    public void close()
+    {
+        if ( fakeConfigFile != null )
+        {
+            //noinspection ResultOfMethodCallIgnored
+            fakeConfigFile.delete();
+        }
+    }
+
     public QuorumPeerConfig buildConfig(int instanceIndex) throws Exception
     {
         boolean isCluster = (instanceSpecs.size() > 1);
@@ -103,7 +127,15 @@ public class QuorumConfigBuilder
             }
         }
 
-        QuorumPeerConfig config = new QuorumPeerConfig();
+        QuorumPeerConfig config = new QuorumPeerConfig()
+        {
+            {
+                if ( fakeConfigFile != null )
+                {
+                    configFileStr = fakeConfigFile.getPath();
+                }
+            }
+        };
         config.parseProperties(properties);
         return config;
     }

http://git-wip-us.apache.org/repos/asf/curator/blob/0603e958/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperMain.java
----------------------------------------------------------------------
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 a4cca8e..82bcd9b 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
@@ -21,6 +21,8 @@ package org.apache.curator.test;
 
 import org.apache.zookeeper.jmx.MBeanRegistry;
 import org.apache.zookeeper.jmx.ZKMBeanInfo;
+import org.apache.zookeeper.server.ContainerManager;
+import org.apache.zookeeper.server.RequestProcessor;
 import org.apache.zookeeper.server.ServerCnxnFactory;
 import org.apache.zookeeper.server.ServerConfig;
 import org.apache.zookeeper.server.ZKDatabase;
@@ -37,6 +39,7 @@ import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 import java.nio.channels.ServerSocketChannel;
 import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
 
@@ -48,7 +51,8 @@ public class TestingZooKeeperMain implements ZooKeeperMainFace
     private final AtomicReference<Exception> startingException = new 
AtomicReference<Exception>(null);
 
     private volatile ServerCnxnFactory cnxnFactory;
-    private volatile ZooKeeperServer zkServer;
+    private volatile TestZooKeeperServer zkServer;
+    private volatile ContainerManager containerManager;
 
     private static final Timing timing = new Timing();
 
@@ -169,6 +173,11 @@ public class TestingZooKeeperMain implements 
ZooKeeperMainFace
             cnxnFactory = null;
         }
 
+        if ( containerManager != null ) {
+            containerManager.stop();
+            containerManager = null;
+        }
+
         try
         {
             if ( zkServer != null )
@@ -217,6 +226,8 @@ public class TestingZooKeeperMain implements 
ZooKeeperMainFace
                 timing.sleepABit();
             }
             cnxnFactory.startup(zkServer);
+            containerManager = new ContainerManager(zkServer.getZKDatabase(), 
zkServer.getFirstProcessor(), 
Integer.getInteger("znode.container.checkIntervalMs", 
(int)TimeUnit.MINUTES.toMillis(1L)).intValue(), 
Integer.getInteger("znode.container.maxPerMinute", 10000).intValue());
+            containerManager.start();
             latch.countDown();
             cnxnFactory.join();
             if ( zkServer.isRunning()) {
@@ -242,6 +253,11 @@ public class TestingZooKeeperMain implements 
ZooKeeperMainFace
 
         private final AtomicBoolean isRunning = new AtomicBoolean(false);
 
+        public RequestProcessor getFirstProcessor()
+        {
+            return firstProcessor;
+        }
+
         protected void registerJMX()
         {
             // NOP

http://git-wip-us.apache.org/repos/asf/curator/blob/0603e958/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperServer.java
----------------------------------------------------------------------
diff --git 
a/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperServer.java
 
b/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperServer.java
index eeec877..c14e3e4 100644
--- 
a/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperServer.java
+++ 
b/curator-test/src/main/java/org/apache/curator/test/TestingZooKeeperServer.java
@@ -123,6 +123,8 @@ public class TestingZooKeeperServer extends QuorumPeerMain 
implements Closeable
 
         if ( state.compareAndSet(State.STOPPED, State.CLOSED) )
         {
+            configBuilder.close();
+
             InstanceSpec spec = getInstanceSpec();
             if ( spec.deleteDataDirectoryOnClose() )
             {

http://git-wip-us.apache.org/repos/asf/curator/blob/0603e958/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 567eb8f..0e7a732 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache</groupId>
         <artifactId>apache</artifactId>
-        <version>16</version>
+        <version>17</version>
     </parent>
 
     <groupId>org.apache.curator</groupId>
@@ -622,6 +622,7 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
+                    <reuseForks>false</reuseForks>
                     <redirectTestOutputToFile>true</redirectTestOutputToFile>
                 </configuration>
             </plugin>

Reply via email to