zookeeper-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From an...@apache.org
Subject [26/51] [partial] zookeeper git commit: ZOOKEEPER-3032: MAVEN MIGRATION - zookeeper-server
Date Fri, 19 Oct 2018 12:40:24 GMT
http://git-wip-us.apache.org/repos/asf/zookeeper/blob/cb9f303b/zookeeper-common/src/test/java/org/apache/zookeeper/test/TruncateTest.java
----------------------------------------------------------------------
diff --git a/zookeeper-common/src/test/java/org/apache/zookeeper/test/TruncateTest.java b/zookeeper-common/src/test/java/org/apache/zookeeper/test/TruncateTest.java
deleted file mode 100644
index ec992b8..0000000
--- a/zookeeper-common/src/test/java/org/apache/zookeeper/test/TruncateTest.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.zookeeper.test;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.jute.Record;
-import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.PortAssignment;
-import org.apache.zookeeper.ZKTestCase;
-import org.apache.zookeeper.ZooDefs;
-import org.apache.zookeeper.ZooKeeper;
-import org.apache.zookeeper.data.Stat;
-import org.apache.zookeeper.server.Request;
-import org.apache.zookeeper.server.ServerCnxnFactory;
-import org.apache.zookeeper.server.ZKDatabase;
-import org.apache.zookeeper.server.ZooKeeperServer;
-import org.apache.zookeeper.server.persistence.FileTxnLog;
-import org.apache.zookeeper.server.persistence.FileTxnSnapLog;
-import org.apache.zookeeper.server.persistence.TxnLog.TxnIterator;
-import org.apache.zookeeper.server.quorum.QuorumPeer;
-import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
-import org.apache.zookeeper.txn.SetDataTxn;
-import org.apache.zookeeper.txn.TxnHeader;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class TruncateTest extends ZKTestCase {
-	private static final Logger LOG = LoggerFactory.getLogger(TruncateTest.class);
-    File dataDir1, dataDir2, dataDir3;
-    
-    @Before
-    public void setUp() throws IOException {
-        dataDir1 = ClientBase.createTmpDir();
-        dataDir2 = ClientBase.createTmpDir();
-        dataDir3 = ClientBase.createTmpDir();
-    }
-    
-    @After
-    public void tearDown() {
-        ClientBase.recursiveDelete(dataDir1);
-        ClientBase.recursiveDelete(dataDir2);
-        ClientBase.recursiveDelete(dataDir3);
-    }
-
-
-    @Test
-    public void testTruncationStreamReset() throws Exception {
-        File tmpdir = ClientBase.createTmpDir();
-        FileTxnSnapLog snaplog = new FileTxnSnapLog(tmpdir, tmpdir);
-        ZKDatabase zkdb = new ZKDatabase(snaplog);
-        // make sure to snapshot, so that we have something there when
-        // truncateLog reloads the db
-        snaplog.save(zkdb.getDataTree(), zkdb.getSessionWithTimeOuts(), false);
-
-        for (int i = 1; i <= 100; i++) {
-            append(zkdb, i);
-        }
-
-        zkdb.truncateLog(1);
-
-        append(zkdb, 200);
-
-        zkdb.close();
-
-        // verify that the truncation and subsequent append were processed
-        // correctly
-        FileTxnLog txnlog = new FileTxnLog(new File(tmpdir, "version-2"));
-        TxnIterator iter = txnlog.read(1);
-
-        TxnHeader hdr = iter.getHeader();
-        Record txn = iter.getTxn();
-        Assert.assertEquals(1, hdr.getZxid());
-        Assert.assertTrue(txn instanceof SetDataTxn);
-
-        iter.next();
-
-        hdr = iter.getHeader();
-        txn = iter.getTxn();
-        Assert.assertEquals(200, hdr.getZxid());
-        Assert.assertTrue(txn instanceof SetDataTxn);
-        iter.close();
-        ClientBase.recursiveDelete(tmpdir);
-    }
-
-    @Test
-    public void testTruncationNullLog() throws Exception {
-        File tmpdir = ClientBase.createTmpDir();
-        FileTxnSnapLog snaplog = new FileTxnSnapLog(tmpdir, tmpdir);
-        ZKDatabase zkdb = new ZKDatabase(snaplog);
-
-        for (int i = 1; i <= 100; i++) {
-            append(zkdb, i);
-        }
-        zkdb.close();
-        File[] logs = snaplog.getDataDir().listFiles();
-        for(int i = 0; i < logs.length; i++) {
-            LOG.debug("Deleting: {}", logs[i].getName());
-            Assert.assertTrue("Failed to delete log file: " + logs[i].getName(), logs[i].delete());
-        }
-        try {
-            zkdb.truncateLog(1);
-            Assert.assertTrue("Should not get here", false);
-        }
-        catch(IOException e) {
-            Assert.assertTrue("Should have received an IOException", true);
-        }
-        catch(NullPointerException npe) {
-            Assert.fail("This should not throw NPE!");
-        }
- 
-        ClientBase.recursiveDelete(tmpdir);
-    }
-
-    private void append(ZKDatabase zkdb, int i) throws IOException {
-        TxnHeader hdr = new TxnHeader(1, 1, i, 1, ZooDefs.OpCode.setData);
-        Record txn = new SetDataTxn("/foo" + i, new byte[0], 1);
-        Request req = new Request(0, 0, 0, hdr, txn, 0);
-
-        zkdb.append(req);
-        zkdb.commit();
-    }
-
-    @Test
-    public void testTruncate() throws Exception {
-        // Prime the server that is going to come in late with 50 txns
-        String hostPort = "127.0.0.1:" + PortAssignment.unique();
-        int maxCnxns = 100;
-        ServerCnxnFactory factory = ClientBase.createNewServerInstance(null,
-                hostPort, maxCnxns);
-        ClientBase.startServerInstance(dataDir1, factory, hostPort, 1);
-        ClientBase.shutdownServerInstance(factory, hostPort);
-
-        // standalone starts with 0 epoch while quorum starts with 1
-        File origfile = new File(new File(dataDir1, "version-2"), "snapshot.0");
-        File newfile = new File(new File(dataDir1, "version-2"), "snapshot.100000000");
-        origfile.renameTo(newfile);
-
-        factory = ClientBase.createNewServerInstance(null, hostPort, maxCnxns);
-        ClientBase.startServerInstance(dataDir1, factory, hostPort, 1);
-
-        ZooKeeper zk = ClientBase.createZKClient(hostPort, 15000);
-        for(int i = 0; i < 50; i++) {
-            zk.create("/" + i, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        }
-        zk.close();
-        
-        ZKDatabase zkDb;
-        {
-            ZooKeeperServer zs = ClientBase.getServer(factory);
-    
-            zkDb = zs.getZKDatabase();
-        }
-        factory.shutdown();
-        try {
-            zkDb.close();
-        } catch (IOException ie) {
-            LOG.warn("Error closing logs ", ie);
-        }
-        int tickTime = 2000;
-        int initLimit = 3;
-        int syncLimit = 3;
-
-        int port1 = PortAssignment.unique();
-        int port2 = PortAssignment.unique();
-        int port3 = PortAssignment.unique();
-        
-        // Start up two of the quorum and add 10 txns
-        Map<Long,QuorumServer> peers = new HashMap<Long,QuorumServer>();
-        peers.put(Long.valueOf(1), new QuorumServer(1,
-                       new InetSocketAddress("127.0.0.1", PortAssignment.unique()),
-                       new InetSocketAddress("127.0.0.1", PortAssignment.unique()),
-                       new InetSocketAddress("127.0.0.1", port1)));
-        peers.put(Long.valueOf(2), new QuorumServer(2,
-                       new InetSocketAddress("127.0.0.1", PortAssignment.unique()),
-                       new InetSocketAddress("127.0.0.1", PortAssignment.unique()),
-                       new InetSocketAddress("127.0.0.1", port2)));
-        peers.put(Long.valueOf(3), new QuorumServer(3,
-                       new InetSocketAddress("127.0.0.1", PortAssignment.unique()),
-                       new InetSocketAddress("127.0.0.1", PortAssignment.unique()),
-                       new InetSocketAddress("127.0.0.1", port3)));
-
-        QuorumPeer s2 = new QuorumPeer(peers, dataDir2, dataDir2, port2, 3, 2, tickTime, initLimit, syncLimit);
-        s2.start();
-        QuorumPeer s3 = new QuorumPeer(peers, dataDir3, dataDir3, port3, 3, 3, tickTime, initLimit, syncLimit);
-        s3.start();
-        zk = ClientBase.createZKClient("127.0.0.1:" + port2, 15000);
-
-        for(int i = 0; i < 10; i++) {
-            zk.create("/" + i, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        }
-        zk.close();
-        final ZooKeeper zk2 = ClientBase.createZKClient("127.0.0.1:" + port2, 15000);
-        zk2.getData("/9", false, new Stat());
-        try {
-            zk2.getData("/10", false, new Stat());
-            Assert.fail("Should have gotten an error");
-        } catch(KeeperException.NoNodeException e) {
-            // this is what we want
-        }
-        QuorumPeer s1 = new QuorumPeer(peers, dataDir1, dataDir1, port1, 3, 1, tickTime, initLimit, syncLimit);
-        s1.start();
-        ZooKeeper zk1 = ClientBase.createZKClient("127.0.0.1:" + port1, 15000);
-        zk1.getData("/9", false, new Stat());
-        try {
-            // /10 wont work because the session expiration
-            // will match the zxid for /10 and so we wont
-            // actually truncate the zxid for /10 creation
-            // due to an artifact of switching the xid of the standalone
-            // /11 is the last entry in the log for the xid
-            // as a result /12 is the first of the truncated znodes to check for
-            zk1.getData("/12", false, new Stat());
-            Assert.fail("Should have gotten an error");
-        } catch(KeeperException.NoNodeException e) {
-            // this is what we want
-        }
-        zk1.close();
-        QuorumBase.shutdown(s1);
-        QuorumBase.shutdown(s2);
-        QuorumBase.shutdown(s3);
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/cb9f303b/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatchEventWhenAutoResetTest.java
----------------------------------------------------------------------
diff --git a/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatchEventWhenAutoResetTest.java b/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatchEventWhenAutoResetTest.java
deleted file mode 100644
index a760463..0000000
--- a/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatchEventWhenAutoResetTest.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.zookeeper.test;
-
-import java.io.IOException;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.ZooDefs;
-import org.apache.zookeeper.ZooKeeper;
-import org.apache.zookeeper.Watcher.Event.EventType;
-import org.apache.zookeeper.test.ClientBase.CountdownWatcher;
-import org.apache.zookeeper.ZKTestCase;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-public class WatchEventWhenAutoResetTest extends ZKTestCase {
-    protected static final Logger LOG = LoggerFactory
-            .getLogger(WatchEventWhenAutoResetTest.class);
-
-    // waiting time for expected condition
-    private static final int TIMEOUT = 30000;
-
-    static public class EventsWatcher extends CountdownWatcher {
-        private LinkedBlockingQueue<WatchedEvent> dataEvents = new LinkedBlockingQueue<WatchedEvent>();
-
-        @Override
-        public void process(WatchedEvent event) {
-            super.process(event);
-            try {
-                if (event.getType() != Event.EventType.None) {
-                    dataEvents.put(event);
-                }
-            } catch (InterruptedException e) {
-                LOG.warn("ignoring interrupt during EventsWatcher process");
-            }
-        }
-
-        public void assertEvent(long timeout, EventType eventType) {
-            try {
-                WatchedEvent event = dataEvents.poll(timeout,
-                        TimeUnit.MILLISECONDS);
-                Assert.assertNotNull("do not receive a " + eventType, event);
-                Assert.assertEquals(eventType, event.getType());
-            } catch (InterruptedException e) {
-                LOG.warn("ignoring interrupt during EventsWatcher assertEvent");
-            }
-        }
-    }
-
-    private ZooKeeper createClient(QuorumUtil qu, int id, EventsWatcher watcher)
-            throws IOException {
-        String hostPort = "127.0.0.1:" + qu.getPeer(id).clientPort;
-        ZooKeeper zk = new ZooKeeper(hostPort, TIMEOUT, watcher);
-        try {
-            watcher.waitForConnected(TIMEOUT);
-        } catch (InterruptedException e) {
-            // ignoring the interrupt
-        } catch (TimeoutException e) {
-            Assert.fail("can not connect to " + hostPort);
-        }
-        return zk;
-    }
-
-    private ZooKeeper createClient(QuorumUtil qu, int id) throws IOException {
-        return createClient(qu, id, new EventsWatcher());
-    }
-
-    @Before
-    public void setUp() {
-        System.setProperty("zookeeper.admin.enableServer", "false");
-    }
-
-    @Test
-    public void testNodeDataChanged() throws Exception {
-        QuorumUtil qu = new QuorumUtil(1);
-        qu.startAll();
-
-        EventsWatcher watcher = new EventsWatcher();
-        ZooKeeper zk1 = createClient(qu, 1, watcher);
-        ZooKeeper zk2 = createClient(qu, 2);
-
-        String path = "/test-changed";
-
-        zk1.create(path, new byte[1], ZooDefs.Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-        zk1.getData(path, watcher, null);
-        qu.shutdown(1);
-        zk2.delete(path, -1);
-        zk2.create(path, new byte[2], ZooDefs.Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-        qu.start(1);
-        watcher.waitForConnected(TIMEOUT);
-        watcher.assertEvent(TIMEOUT, EventType.NodeDataChanged);
-
-        zk1.exists(path, watcher);
-        qu.shutdown(1);
-        zk2.delete(path, -1);
-        zk2.create(path, new byte[2], ZooDefs.Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-        qu.start(1);
-        watcher.waitForConnected(TIMEOUT * 1000L);
-        watcher.assertEvent(TIMEOUT, EventType.NodeDataChanged);
-
-        qu.shutdownAll();
-    }
-
-    @Test
-    public void testNodeCreated() throws Exception {
-        QuorumUtil qu = new QuorumUtil(1);
-        qu.startAll();
-
-        EventsWatcher watcher = new EventsWatcher();
-        ZooKeeper zk1 = createClient(qu, 1, watcher);
-        ZooKeeper zk2 = createClient(qu, 2);
-
-        String path = "/test1-created";
-
-        zk1.exists(path, watcher);
-        qu.shutdown(1);
-        zk2.create(path, new byte[2], ZooDefs.Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-        qu.start(1);
-        watcher.waitForConnected(TIMEOUT * 1000L);
-        watcher.assertEvent(TIMEOUT, EventType.NodeCreated);
-
-        qu.shutdownAll();
-    }
-
-    @Test
-    public void testNodeDeleted() throws Exception {
-        QuorumUtil qu = new QuorumUtil(1);
-        qu.startAll();
-
-        EventsWatcher watcher = new EventsWatcher();
-        ZooKeeper zk1 = createClient(qu, 1, watcher);
-        ZooKeeper zk2 = createClient(qu, 2);
-
-        String path = "/test-deleted";
-
-        zk1.create(path, new byte[1], ZooDefs.Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-        zk1.getData(path, watcher, null);
-        qu.shutdown(1);
-        zk2.delete(path, -1);
-        qu.start(1);
-        watcher.waitForConnected(TIMEOUT * 1000L);
-        watcher.assertEvent(TIMEOUT, EventType.NodeDeleted);
-
-        zk1.create(path, new byte[1], ZooDefs.Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-        zk1.exists(path, watcher);
-        qu.shutdown(1);
-        zk2.delete(path, -1);
-        qu.start(1);
-        watcher.waitForConnected(TIMEOUT * 1000L);
-        watcher.assertEvent(TIMEOUT, EventType.NodeDeleted);
-
-        zk1.create(path, new byte[1], ZooDefs.Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-        zk1.getChildren(path, watcher);
-        qu.shutdown(1);
-        zk2.delete(path, -1);
-        qu.start(1);
-        watcher.waitForConnected(TIMEOUT * 1000L);
-        watcher.assertEvent(TIMEOUT, EventType.NodeDeleted);
-
-        qu.shutdownAll();
-    }
-
-    @Test
-    public void testNodeChildrenChanged() throws Exception {
-        QuorumUtil qu = new QuorumUtil(1);
-        qu.startAll();
-
-        EventsWatcher watcher = new EventsWatcher();
-        ZooKeeper zk1 = createClient(qu, 1, watcher);
-        ZooKeeper zk2 = createClient(qu, 2);
-
-        String path = "/test-children-changed";
-
-        zk1.create(path, new byte[1], ZooDefs.Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-        zk1.getChildren(path, watcher);
-        qu.shutdown(1);
-        zk2.create(path + "/children-1", new byte[2],
-                ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        qu.start(1);
-        watcher.waitForConnected(TIMEOUT * 1000L);
-        watcher.assertEvent(TIMEOUT, EventType.NodeChildrenChanged);
-
-        qu.shutdownAll();
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/cb9f303b/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatchedEventTest.java
----------------------------------------------------------------------
diff --git a/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatchedEventTest.java b/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatchedEventTest.java
deleted file mode 100644
index 75ec3dd..0000000
--- a/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatchedEventTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.zookeeper.test;
-
-import java.util.EnumSet;
-
-import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.ZKTestCase;
-import org.apache.zookeeper.Watcher.Event.EventType;
-import org.apache.zookeeper.Watcher.Event.KeeperState;
-import org.apache.zookeeper.proto.WatcherEvent;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class WatchedEventTest extends ZKTestCase {
-
-    @Test
-    public void testCreatingWatchedEvent() {
-        // EventWatch is a simple, immutable type, so all we need to do
-       // is make sure we can create all possible combinations of values.
-
-        EnumSet<EventType> allTypes = EnumSet.allOf(EventType.class);
-       EnumSet<KeeperState> allStates = EnumSet.allOf(KeeperState.class);
-       WatchedEvent we;
-
-        for(EventType et : allTypes) {
-           for(KeeperState ks : allStates) {
-               we = new WatchedEvent(et, ks, "blah");
-               Assert.assertEquals(et, we.getType());
-               Assert.assertEquals(ks, we.getState());
-               Assert.assertEquals("blah", we.getPath());
-           }
-        }
-    }
-
-    @Test
-    public void testCreatingWatchedEventFromWrapper() {
-        // Make sure we can handle any type of correct wrapper
-
-        EnumSet<EventType> allTypes = EnumSet.allOf(EventType.class);
-       EnumSet<KeeperState> allStates = EnumSet.allOf(KeeperState.class);
-       WatchedEvent we;
-       WatcherEvent wep;
-
-        for(EventType et : allTypes) {
-           for(KeeperState ks : allStates) {
-               wep = new WatcherEvent(et.getIntValue(), ks.getIntValue(), "blah");
-               we = new WatchedEvent(wep);
-               Assert.assertEquals(et, we.getType());
-               Assert.assertEquals(ks, we.getState());
-               Assert.assertEquals("blah", we.getPath());
-           }
-        }
-    }
-
-    @Test
-    public void testCreatingWatchedEventFromInvalidWrapper() {
-        // Make sure we can't convert from an invalid wrapper
-
-       try {
-           WatcherEvent wep = new WatcherEvent(-2342, -252352, "foo");
-           new WatchedEvent(wep);
-           Assert.fail("Was able to create WatchedEvent from bad wrapper");
-       } catch (RuntimeException re) {
-           // we're good
-       }
-    }
-
-   @Test
-   public void testConvertingToEventWrapper() {
-       WatchedEvent we = new WatchedEvent(EventType.NodeCreated, KeeperState.Expired, "blah");
-       WatcherEvent wew = we.getWrapper();
-
-       Assert.assertEquals(EventType.NodeCreated.getIntValue(), wew.getType());
-       Assert.assertEquals(KeeperState.Expired.getIntValue(), wew.getState());
-       Assert.assertEquals("blah", wew.getPath());
-   }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/cb9f303b/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatcherFuncTest.java
----------------------------------------------------------------------
diff --git a/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatcherFuncTest.java b/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatcherFuncTest.java
deleted file mode 100644
index a6c62e4..0000000
--- a/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatcherFuncTest.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.zookeeper.test;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.ZooKeeper;
-import org.apache.zookeeper.Watcher.Event.EventType;
-import org.apache.zookeeper.Watcher.Event.KeeperState;
-import org.apache.zookeeper.ZooDefs.Ids;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class WatcherFuncTest extends ClientBase {
-    private static class SimpleWatcher implements Watcher {
-        private LinkedBlockingQueue<WatchedEvent> events =
-            new LinkedBlockingQueue<WatchedEvent>();
-        private CountDownLatch latch;
-
-        public SimpleWatcher(CountDownLatch latch) {
-            this.latch = latch;
-        }
-
-        public void process(WatchedEvent event) {
-            if (event.getState() == KeeperState.SyncConnected) {
-                if (latch != null) {
-                    latch.countDown();
-                }
-            }
-
-            if (event.getType() == EventType.None) {
-                return;
-            }
-            try {
-                events.put(event);
-            } catch (InterruptedException e) {
-                Assert.assertTrue("interruption unexpected", false);
-            }
-        }
-        public void verify(List<EventType> expected) throws InterruptedException{
-            WatchedEvent event;
-            int count = 0;
-            while (count < expected.size()
-                    && (event = events.poll(30, TimeUnit.SECONDS)) != null)
-            {
-                Assert.assertEquals(expected.get(count), event.getType());
-                count++;
-            }
-            Assert.assertEquals(expected.size(), count);
-            events.clear();
-        }
-    }
-    private SimpleWatcher client_dwatch;
-    private volatile CountDownLatch client_latch;
-    private ZooKeeper client;
-    private SimpleWatcher lsnr_dwatch;
-    private volatile CountDownLatch lsnr_latch;
-    private ZooKeeper lsnr;
-
-    private List<EventType> expected;
-
-    @Override
-    public void setUp() throws Exception {
-        super.setUp();
-
-        client_latch = new CountDownLatch(1);
-        client_dwatch = new SimpleWatcher(client_latch);
-        client = createClient(client_dwatch, client_latch);
-
-        lsnr_latch = new CountDownLatch(1);
-        lsnr_dwatch = new SimpleWatcher(lsnr_latch);
-        lsnr = createClient(lsnr_dwatch, lsnr_latch);
-
-        expected = new ArrayList<EventType>();
-    }
-
-    @Override
-    public void tearDown() throws Exception {
-        client.close();
-        lsnr.close();
-        super.tearDown();
-    }
-
-    protected ZooKeeper createClient(Watcher watcher, CountDownLatch latch)
-        throws IOException, InterruptedException
-    {
-        ZooKeeper zk = new ZooKeeper(hostPort, CONNECTION_TIMEOUT, watcher);
-        if(!latch.await(CONNECTION_TIMEOUT, TimeUnit.MILLISECONDS)){
-            Assert.fail("Unable to connect to server");
-        }
-        return zk;
-    }
-
-    private void verify() throws InterruptedException {
-        lsnr_dwatch.verify(expected);
-        expected.clear();
-    }
-
-    @Test
-    public void testExistsSync()
-        throws IOException, InterruptedException, KeeperException
-    {
-        Assert.assertNull(lsnr.exists("/foo", true));
-        Assert.assertNull(lsnr.exists("/foo/bar", true));
-
-        client.create("/foo", "parent".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        expected.add(EventType.NodeCreated);
-        client.create("/foo/bar", "child".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        expected.add(EventType.NodeCreated);
-
-        verify();
-
-        Assert.assertNotNull(lsnr.exists("/foo", true));
-        Assert.assertNotNull(lsnr.exists("/foo/bar", true));
-
-        try {
-            Assert.assertNull(lsnr.exists("/car", true));
-            client.setData("/car", "missing".getBytes(), -1);
-            Assert.fail();
-        } catch (KeeperException e) {
-            Assert.assertEquals(KeeperException.Code.NONODE, e.code());
-            Assert.assertEquals("/car", e.getPath());
-        }
-
-        try {
-            Assert.assertNull(lsnr.exists("/foo/car", true));
-            client.setData("/foo/car", "missing".getBytes(), -1);
-            Assert.fail();
-        } catch (KeeperException e) {
-            Assert.assertEquals(KeeperException.Code.NONODE, e.code());
-            Assert.assertEquals("/foo/car", e.getPath());
-        }
-
-        client.setData("/foo", "parent".getBytes(), -1);
-        expected.add(EventType.NodeDataChanged);
-        client.setData("/foo/bar", "child".getBytes(), -1);
-        expected.add(EventType.NodeDataChanged);
-
-        verify();
-
-        Assert.assertNotNull(lsnr.exists("/foo", true));
-        Assert.assertNotNull(lsnr.exists("/foo/bar", true));
-
-        client.delete("/foo/bar", -1);
-        expected.add(EventType.NodeDeleted);
-        client.delete("/foo", -1);
-        expected.add(EventType.NodeDeleted);
-
-        verify();
-    }
-
-    @Test
-    public void testGetDataSync()
-        throws IOException, InterruptedException, KeeperException
-    {
-        try {
-            lsnr.getData("/foo", true, null);
-            Assert.fail();
-        } catch (KeeperException e) {
-            Assert.assertEquals(KeeperException.Code.NONODE, e.code());
-            Assert.assertEquals("/foo", e.getPath());
-        }
-        try {
-            lsnr.getData("/foo/bar", true, null);
-            Assert.fail();
-        } catch (KeeperException e) {
-            Assert.assertEquals(KeeperException.Code.NONODE, e.code());
-            Assert.assertEquals("/foo/bar", e.getPath());
-        }
-
-        client.create("/foo", "parent".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        Assert.assertNotNull(lsnr.getData("/foo", true, null));
-        client.create("/foo/bar", "child".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        Assert.assertNotNull(lsnr.getData("/foo/bar", true, null));
-
-        client.setData("/foo", "parent".getBytes(), -1);
-        expected.add(EventType.NodeDataChanged);
-        client.setData("/foo/bar", "child".getBytes(), -1);
-        expected.add(EventType.NodeDataChanged);
-
-        verify();
-
-        Assert.assertNotNull(lsnr.getData("/foo", true, null));
-        Assert.assertNotNull(lsnr.getData("/foo/bar", true, null));
-
-        client.delete("/foo/bar", -1);
-        expected.add(EventType.NodeDeleted);
-        client.delete("/foo", -1);
-        expected.add(EventType.NodeDeleted);
-
-        verify();
-    }
-
-    @Test
-    public void testGetChildrenSync()
-        throws IOException, InterruptedException, KeeperException
-    {
-        try {
-            lsnr.getChildren("/foo", true);
-            Assert.fail();
-        } catch (KeeperException e) {
-            Assert.assertEquals(KeeperException.Code.NONODE, e.code());
-            Assert.assertEquals("/foo", e.getPath());
-        }
-        try {
-            lsnr.getChildren("/foo/bar", true);
-            Assert.fail();
-        } catch (KeeperException e) {
-            Assert.assertEquals(KeeperException.Code.NONODE, e.code());
-            Assert.assertEquals("/foo/bar", e.getPath());
-        }
-
-        client.create("/foo", "parent".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        Assert.assertNotNull(lsnr.getChildren("/foo", true));
-
-        client.create("/foo/bar", "child".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        expected.add(EventType.NodeChildrenChanged); // /foo
-        Assert.assertNotNull(lsnr.getChildren("/foo/bar", true));
-
-
-        client.setData("/foo", "parent".getBytes(), -1);
-        client.setData("/foo/bar", "child".getBytes(), -1);
-
-
-        Assert.assertNotNull(lsnr.exists("/foo", true));
-
-        Assert.assertNotNull(lsnr.getChildren("/foo", true));
-        Assert.assertNotNull(lsnr.getChildren("/foo/bar", true));
-
-        client.delete("/foo/bar", -1);
-        expected.add(EventType.NodeDeleted); // /foo/bar childwatch
-        expected.add(EventType.NodeChildrenChanged); // /foo
-        client.delete("/foo", -1);
-        expected.add(EventType.NodeDeleted);
-
-        verify();
-    }
-
-    @Test
-    public void testExistsSyncWObj()
-        throws IOException, InterruptedException, KeeperException
-    {
-        SimpleWatcher w1 = new SimpleWatcher(null);
-        SimpleWatcher w2 = new SimpleWatcher(null);
-        SimpleWatcher w3 = new SimpleWatcher(null);
-        SimpleWatcher w4 = new SimpleWatcher(null);
-
-        List<EventType> e2 = new ArrayList<EventType>();
-
-        Assert.assertNull(lsnr.exists("/foo", true));
-        Assert.assertNull(lsnr.exists("/foo", w1));
-
-        Assert.assertNull(lsnr.exists("/foo/bar", w2));
-        Assert.assertNull(lsnr.exists("/foo/bar", w3));
-        Assert.assertNull(lsnr.exists("/foo/bar", w3));
-        Assert.assertNull(lsnr.exists("/foo/bar", w4));
-
-        client.create("/foo", "parent".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        expected.add(EventType.NodeCreated);
-        client.create("/foo/bar", "child".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        e2.add(EventType.NodeCreated);
-
-        lsnr_dwatch.verify(expected);
-        w1.verify(expected);
-        w2.verify(e2);
-        w3.verify(e2);
-        w4.verify(e2);
-        expected.clear();
-        e2.clear();
-
-        // default not registered
-        Assert.assertNotNull(lsnr.exists("/foo", w1));
-
-        Assert.assertNotNull(lsnr.exists("/foo/bar", w2));
-        Assert.assertNotNull(lsnr.exists("/foo/bar", w3));
-        Assert.assertNotNull(lsnr.exists("/foo/bar", w4));
-        Assert.assertNotNull(lsnr.exists("/foo/bar", w4));
-
-        client.setData("/foo", "parent".getBytes(), -1);
-        expected.add(EventType.NodeDataChanged);
-        client.setData("/foo/bar", "child".getBytes(), -1);
-        e2.add(EventType.NodeDataChanged);
-
-        lsnr_dwatch.verify(new ArrayList<EventType>()); // not reg so should = 0
-        w1.verify(expected);
-        w2.verify(e2);
-        w3.verify(e2);
-        w4.verify(e2);
-        expected.clear();
-        e2.clear();
-
-        Assert.assertNotNull(lsnr.exists("/foo", true));
-        Assert.assertNotNull(lsnr.exists("/foo", w1));
-        Assert.assertNotNull(lsnr.exists("/foo", w1));
-
-        Assert.assertNotNull(lsnr.exists("/foo/bar", w2));
-        Assert.assertNotNull(lsnr.exists("/foo/bar", w2));
-        Assert.assertNotNull(lsnr.exists("/foo/bar", w3));
-        Assert.assertNotNull(lsnr.exists("/foo/bar", w4));
-
-        client.delete("/foo/bar", -1);
-        expected.add(EventType.NodeDeleted);
-        client.delete("/foo", -1);
-        e2.add(EventType.NodeDeleted);
-
-        lsnr_dwatch.verify(expected);
-        w1.verify(expected);
-        w2.verify(e2);
-        w3.verify(e2);
-        w4.verify(e2);
-        expected.clear();
-        e2.clear();
-
-    }
-
-    @Test
-    public void testGetDataSyncWObj()
-        throws IOException, InterruptedException, KeeperException
-    {
-        SimpleWatcher w1 = new SimpleWatcher(null);
-        SimpleWatcher w2 = new SimpleWatcher(null);
-        SimpleWatcher w3 = new SimpleWatcher(null);
-        SimpleWatcher w4 = new SimpleWatcher(null);
-
-        List<EventType> e2 = new ArrayList<EventType>();
-
-        try {
-            lsnr.getData("/foo", w1, null);
-            Assert.fail();
-        } catch (KeeperException e) {
-            Assert.assertEquals(KeeperException.Code.NONODE, e.code());
-            Assert.assertEquals("/foo", e.getPath());
-        }
-        try {
-            lsnr.getData("/foo/bar", w2, null);
-            Assert.fail();
-        } catch (KeeperException e) {
-            Assert.assertEquals(KeeperException.Code.NONODE, e.code());
-            Assert.assertEquals("/foo/bar", e.getPath());
-        }
-
-        client.create("/foo", "parent".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        Assert.assertNotNull(lsnr.getData("/foo", true, null));
-        Assert.assertNotNull(lsnr.getData("/foo", w1, null));
-        client.create("/foo/bar", "child".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        Assert.assertNotNull(lsnr.getData("/foo/bar", w2, null));
-        Assert.assertNotNull(lsnr.getData("/foo/bar", w3, null));
-        Assert.assertNotNull(lsnr.getData("/foo/bar", w4, null));
-        Assert.assertNotNull(lsnr.getData("/foo/bar", w4, null));
-
-        client.setData("/foo", "parent".getBytes(), -1);
-        expected.add(EventType.NodeDataChanged);
-        client.setData("/foo/bar", "child".getBytes(), -1);
-        e2.add(EventType.NodeDataChanged);
-
-        lsnr_dwatch.verify(expected);
-        w1.verify(expected);
-        w2.verify(e2);
-        w3.verify(e2);
-        w4.verify(e2);
-        expected.clear();
-        e2.clear();
-
-        Assert.assertNotNull(lsnr.getData("/foo", true, null));
-        Assert.assertNotNull(lsnr.getData("/foo", w1, null));
-        Assert.assertNotNull(lsnr.getData("/foo/bar", w2, null));
-        Assert.assertNotNull(lsnr.getData("/foo/bar", w3, null));
-        Assert.assertNotNull(lsnr.getData("/foo/bar", w3, null));
-        Assert.assertNotNull(lsnr.getData("/foo/bar", w4, null));
-
-        client.delete("/foo/bar", -1);
-        expected.add(EventType.NodeDeleted);
-        client.delete("/foo", -1);
-        e2.add(EventType.NodeDeleted);
-
-        lsnr_dwatch.verify(expected);
-        w1.verify(expected);
-        w2.verify(e2);
-        w3.verify(e2);
-        w4.verify(e2);
-        expected.clear();
-        e2.clear();
-    }
-
-    @Test
-    public void testGetChildrenSyncWObj()
-        throws IOException, InterruptedException, KeeperException
-    {
-        SimpleWatcher w1 = new SimpleWatcher(null);
-        SimpleWatcher w2 = new SimpleWatcher(null);
-        SimpleWatcher w3 = new SimpleWatcher(null);
-        SimpleWatcher w4 = new SimpleWatcher(null);
-
-        List<EventType> e2 = new ArrayList<EventType>();
-
-        try {
-            lsnr.getChildren("/foo", true);
-            Assert.fail();
-        } catch (KeeperException e) {
-            Assert.assertEquals(KeeperException.Code.NONODE, e.code());
-            Assert.assertEquals("/foo", e.getPath());
-        }
-        try {
-            lsnr.getChildren("/foo/bar", true);
-            Assert.fail();
-        } catch (KeeperException e) {
-            Assert.assertEquals(KeeperException.Code.NONODE, e.code());
-            Assert.assertEquals("/foo/bar", e.getPath());
-        }
-
-        client.create("/foo", "parent".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        Assert.assertNotNull(lsnr.getChildren("/foo", true));
-        Assert.assertNotNull(lsnr.getChildren("/foo", w1));
-
-        client.create("/foo/bar", "child".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
-        expected.add(EventType.NodeChildrenChanged); // /foo
-        Assert.assertNotNull(lsnr.getChildren("/foo/bar", w2));
-        Assert.assertNotNull(lsnr.getChildren("/foo/bar", w2));
-        Assert.assertNotNull(lsnr.getChildren("/foo/bar", w3));
-        Assert.assertNotNull(lsnr.getChildren("/foo/bar", w4));
-
-
-        client.setData("/foo", "parent".getBytes(), -1);
-        client.setData("/foo/bar", "child".getBytes(), -1);
-
-
-        Assert.assertNotNull(lsnr.exists("/foo", true));
-        Assert.assertNotNull(lsnr.exists("/foo", w1));
-        Assert.assertNotNull(lsnr.exists("/foo", true));
-        Assert.assertNotNull(lsnr.exists("/foo", w1));
-
-        Assert.assertNotNull(lsnr.getChildren("/foo", true));
-        Assert.assertNotNull(lsnr.getChildren("/foo", w1));
-        Assert.assertNotNull(lsnr.getChildren("/foo/bar", w2));
-        Assert.assertNotNull(lsnr.getChildren("/foo/bar", w3));
-        Assert.assertNotNull(lsnr.getChildren("/foo/bar", w4));
-        Assert.assertNotNull(lsnr.getChildren("/foo/bar", w4));
-
-        client.delete("/foo/bar", -1);
-        e2.add(EventType.NodeDeleted); // /foo/bar childwatch
-        expected.add(EventType.NodeChildrenChanged); // /foo
-        client.delete("/foo", -1);
-        expected.add(EventType.NodeDeleted);
-
-        lsnr_dwatch.verify(expected);
-        w1.verify(expected);
-        w2.verify(e2);
-        w3.verify(e2);
-        w4.verify(e2);
-        expected.clear();
-        e2.clear();
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/cb9f303b/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatcherTest.java
----------------------------------------------------------------------
diff --git a/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatcherTest.java b/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatcherTest.java
deleted file mode 100644
index 61d82f1..0000000
--- a/zookeeper-common/src/test/java/org/apache/zookeeper/test/WatcherTest.java
+++ /dev/null
@@ -1,463 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.zookeeper.test;
-
-import java.io.IOException;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.TestableZooKeeper;
-import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.ZooKeeper;
-import org.apache.zookeeper.AsyncCallback.StatCallback;
-import org.apache.zookeeper.AsyncCallback.VoidCallback;
-import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.Watcher.Event;
-import org.apache.zookeeper.Watcher.Event.EventType;
-import org.apache.zookeeper.ZooDefs.Ids;
-import org.apache.zookeeper.client.ZKClientConfig;
-import org.apache.zookeeper.data.Stat;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-public class WatcherTest extends ClientBase {
-    protected static final Logger LOG = LoggerFactory.getLogger(WatcherTest.class);
-
-    private long timeOfLastWatcherInvocation;
-
-    private final static class MyStatCallback implements StatCallback {
-        int rc;
-        public void processResult(int rc, String path, Object ctx, Stat stat) {
-            ((int[])ctx)[0]++;
-            this.rc = rc;
-        }
-    }
-
-    private class MyWatcher extends CountdownWatcher {
-        LinkedBlockingQueue<WatchedEvent> events =
-            new LinkedBlockingQueue<WatchedEvent>();
-
-        public void process(WatchedEvent event) {
-            super.process(event);
-            if (event.getType() != Event.EventType.None) {
-                timeOfLastWatcherInvocation = System.currentTimeMillis();
-                try {
-                    events.put(event);
-                } catch (InterruptedException e) {
-                    LOG.warn("ignoring interrupt during event.put");
-                }
-            }
-        }
-    }
-
-    @Before
-    public void setUp() throws Exception {
-        super.setUp();
-        // Reset to default value since some test cases set this to true.
-        // Needed for JDK7 since unit test can run is random order
-        System.setProperty(ZKClientConfig.DISABLE_AUTO_WATCH_RESET, "false");
-    }
-
-    /**
-     * Verify that we get all of the events we expect to get. This particular
-     * case verifies that we see all of the data events on a particular node.
-     * There was a bug (ZOOKEEPER-137) that resulted in events being dropped
-     * in some cases (timing).
-     *
-     * @throws IOException
-     * @throws InterruptedException
-     * @throws KeeperException
-     */
-    @Test
-    public void testWatcherCorrectness()
-        throws IOException, InterruptedException, KeeperException
-    {
-        ZooKeeper zk = null;
-        try {
-            MyWatcher watcher = new MyWatcher();
-            zk = createClient(watcher, hostPort);
-
-            StatCallback scb = new StatCallback() {
-                public void processResult(int rc, String path, Object ctx,
-                        Stat stat) {
-                    // don't do anything
-                }
-            };
-            VoidCallback vcb = new VoidCallback() {
-                public void processResult(int rc, String path, Object ctx) {
-                    // don't do anything
-                }
-            };
-
-            String names[] = new String[10];
-            for (int i = 0; i < names.length; i++) {
-                String name = zk.create("/tc-", "initialvalue".getBytes(),
-                        Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);
-                names[i] = name;
-
-                Stat stat = new Stat();
-                zk.getData(name, watcher, stat);
-                zk.setData(name, "new".getBytes(), stat.getVersion(), scb, null);
-                stat = zk.exists(name, watcher);
-                zk.delete(name, stat.getVersion(), vcb, null);
-            }
-
-            for (int i = 0; i < names.length; i++) {
-                String name = names[i];
-                WatchedEvent event = watcher.events.poll(10, TimeUnit.SECONDS);
-                Assert.assertEquals(name, event.getPath());
-                Assert.assertEquals(Event.EventType.NodeDataChanged, event.getType());
-                Assert.assertEquals(Event.KeeperState.SyncConnected, event.getState());
-                event = watcher.events.poll(10, TimeUnit.SECONDS);
-                Assert.assertEquals(name, event.getPath());
-                Assert.assertEquals(Event.EventType.NodeDeleted, event.getType());
-                Assert.assertEquals(Event.KeeperState.SyncConnected, event.getState());
-            }
-        } finally {
-            if (zk != null) {
-                zk.close();
-            }
-        }
-    }
-    
-    @Test
-    public void testWatcherDisconnectOnClose() 
-        throws IOException, InterruptedException, KeeperException 
-    {
-        ZooKeeper zk = null;
-        try {
-            final BlockingQueue<WatchedEvent> queue = new LinkedBlockingQueue<>();
-            
-            MyWatcher connWatcher = new MyWatcher();
-            
-            Watcher watcher = new Watcher(){
-                @Override
-                public void process(WatchedEvent event) {
-                    try {
-                        queue.put(event);
-                    } catch (InterruptedException e) {
-                        // Oh well, never mind
-                    }
-                }
-                
-            };
-            
-            zk = createClient(connWatcher, hostPort);
-    
-            StatCallback scb = new StatCallback() {
-                public void processResult(int rc, String path, Object ctx,
-                        Stat stat) {
-                    // don't do anything
-                }
-            };
-            
-            // Register a watch on the node
-            zk.exists("/missing", watcher, scb, null);
-            
-            // Close the client without changing the node
-            zk.close();
-            
-            
-            WatchedEvent event = queue.poll(10, TimeUnit.SECONDS);
-            
-            Assert.assertNotNull("No watch event was received after closing the Zookeeper client. A 'Closed' event should have occurred", event);
-            Assert.assertEquals("Closed events are not generated by the server, and so should have a type of 'None'", Event.EventType.None, event.getType());
-            Assert.assertEquals("A 'Closed' event was expected as the Zookeeper client was closed without altering the node it was watching", Event.KeeperState.Closed, event.getState());
-        } finally {
-            if (zk != null) {
-                zk.close();
-            }
-        }
-
-    }
-
-    @Test
-    public void testWatcherCount()
-    throws IOException, InterruptedException, KeeperException {
-        ZooKeeper zk1 = null, zk2 = null;
-        try {
-            MyWatcher w1 = new MyWatcher();
-            zk1 = createClient(w1, hostPort);
-
-            MyWatcher w2 = new MyWatcher();
-            zk2 = createClient(w2, hostPort);
-
-            Stat stat = new Stat();
-            zk1.create("/watch-count-test", "value".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
-            zk1.create("/watch-count-test-2", "value".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
-
-            zk1.getData("/watch-count-test", w1, stat);
-            zk1.getData("/watch-count-test-2", w1, stat);
-            zk2.getData("/watch-count-test", w2, stat);
-
-            Assert.assertEquals(ClientBase.getServer(serverFactory)
-                    .getZKDatabase().getDataTree().getWatchCount(), 3);
-
-        } finally {
-            if(zk1 != null) {
-                zk1.close();
-            }
-            if(zk2 != null) {
-                zk2.close();
-            }
-        }
-
-    }
-
-    final static int COUNT = 100;
-    /**
-     * This test checks that watches for pending requests do not get triggered,
-     * but watches set by previous requests do.
-     *
-     * @throws Exception
-     */
-    @Test
-    public void testWatchAutoResetWithPending() throws Exception {
-       MyWatcher watches[] = new MyWatcher[COUNT];
-       MyStatCallback cbs[] = new MyStatCallback[COUNT];
-       MyWatcher watcher = new MyWatcher();
-       int count[] = new int[1];
-       TestableZooKeeper zk = createClient(watcher, hostPort, 6000);
-       ZooKeeper zk2 = createClient(watcher, hostPort, 5000);
-       zk2.create("/test", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
-       for(int i = 0; i < COUNT/2; i++) {
-           watches[i] = new MyWatcher();
-           cbs[i] = new MyStatCallback();
-           zk.exists("/test", watches[i], cbs[i], count);
-       }
-       zk.exists("/test", false);
-       Assert.assertTrue("Failed to pause the connection!", zk.pauseCnxn(3000));
-       zk2.close();
-       stopServer();
-       watches[0].waitForDisconnected(60000);
-       for(int i = COUNT/2; i < COUNT; i++) {
-           watches[i] = new MyWatcher();
-           cbs[i] = new MyStatCallback();
-           zk.exists("/test", watches[i], cbs[i], count);
-       }
-       startServer();
-       watches[COUNT/2-1].waitForConnected(60000);
-       Assert.assertEquals(null, zk.exists("/test", false));
-       waitForAllWatchers();
-       for(int i = 0; i < COUNT/2; i++) {
-           Assert.assertEquals("For " + i, 1, watches[i].events.size());
-       }
-       for(int i = COUNT/2; i < COUNT; i++) {
-           if (cbs[i].rc == 0) {
-               Assert.assertEquals("For " +i, 1, watches[i].events.size());
-           } else {
-               Assert.assertEquals("For " +i, 0, watches[i].events.size());
-           }
-       }
-       Assert.assertEquals(COUNT, count[0]);
-       zk.close();
-    }
-
-    /**
-     * Wait until no watcher has been fired in the last second to ensure that all watches
-     * that are waiting to be fired have been fired
-     * @throws Exception
-     */
-    private void waitForAllWatchers() throws Exception {
-      timeOfLastWatcherInvocation = System.currentTimeMillis();
-      while (System.currentTimeMillis() - timeOfLastWatcherInvocation < 1000) {
-        Thread.sleep(1000);
-      }
-    }
-
-    final int TIMEOUT = 5000;
-
-    @Test
-    public void testWatcherAutoResetWithGlobal() throws Exception {
-        ZooKeeper zk = null;
-        MyWatcher watcher = new MyWatcher();
-        zk = createClient(watcher, hostPort, TIMEOUT);
-        testWatcherAutoReset(zk, watcher, watcher);
-        zk.close();
-    }
-
-    @Test
-    public void testWatcherAutoResetWithLocal() throws Exception {
-        ZooKeeper zk = null;
-        MyWatcher watcher = new MyWatcher();
-        zk = createClient(watcher, hostPort, TIMEOUT);
-        testWatcherAutoReset(zk, watcher, new MyWatcher());
-        zk.close();
-    }
-
-    @Test
-    public void testWatcherAutoResetDisabledWithGlobal() throws Exception {
-        /**
-         * When ZooKeeper is created this property will get used.
-         */
-        System.setProperty(ZKClientConfig.DISABLE_AUTO_WATCH_RESET, "true");
-        testWatcherAutoResetWithGlobal();
-    }
-
-    @Test
-    public void testWatcherAutoResetDisabledWithLocal() throws Exception {
-        System.setProperty(ZKClientConfig.DISABLE_AUTO_WATCH_RESET, "true");
-        testWatcherAutoResetWithLocal();
-    }
-
-    private void testWatcherAutoReset(ZooKeeper zk, MyWatcher globalWatcher,
-            MyWatcher localWatcher) throws Exception {
-        boolean isGlobal = (localWatcher == globalWatcher);
-        // First test to see if the watch survives across reconnects
-        zk.create("/watchtest", new byte[0], Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-        zk.create("/watchtest/child", new byte[0], Ids.OPEN_ACL_UNSAFE,
-                CreateMode.EPHEMERAL);
-        if (isGlobal) {
-            zk.getChildren("/watchtest", true);
-            zk.getData("/watchtest/child", true, new Stat());
-            zk.exists("/watchtest/child2", true);
-        } else {
-            zk.getChildren("/watchtest", localWatcher);
-            zk.getData("/watchtest/child", localWatcher, new Stat());
-            zk.exists("/watchtest/child2", localWatcher);
-        }
-
-        Assert.assertTrue(localWatcher.events.isEmpty());
-
-        stopServer();
-        globalWatcher.waitForDisconnected(3000);
-        localWatcher.waitForDisconnected(500);
-        startServer();
-        globalWatcher.waitForConnected(3000);
-        boolean disableAutoWatchReset = zk.getClientConfig().getBoolean(ZKClientConfig.DISABLE_AUTO_WATCH_RESET);
-        if (!isGlobal && !disableAutoWatchReset) {
-            localWatcher.waitForConnected(500);
-        }
-
-        Assert.assertTrue(localWatcher.events.isEmpty());
-        zk.setData("/watchtest/child", new byte[1], -1);
-        zk.create("/watchtest/child2", new byte[0], Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-
-        WatchedEvent e;
-        if (!disableAutoWatchReset) {
-            e = localWatcher.events.poll(TIMEOUT, TimeUnit.MILLISECONDS);
-            Assert.assertEquals(e.getPath(), EventType.NodeDataChanged, e.getType());
-            Assert.assertEquals("/watchtest/child", e.getPath());
-        } else {
-            // we'll catch this later if it does happen after timeout, so
-            // why waste the time on poll
-        }
-
-        if (!disableAutoWatchReset) {
-            e = localWatcher.events.poll(TIMEOUT, TimeUnit.MILLISECONDS);
-            // The create will trigger the get children and the exist
-            // watches
-            Assert.assertEquals(EventType.NodeCreated, e.getType());
-            Assert.assertEquals("/watchtest/child2", e.getPath());
-        } else {
-            // we'll catch this later if it does happen after timeout, so
-            // why waste the time on poll
-        }
-
-        if (!disableAutoWatchReset) {
-            e = localWatcher.events.poll(TIMEOUT, TimeUnit.MILLISECONDS);
-            Assert.assertEquals(EventType.NodeChildrenChanged, e.getType());
-            Assert.assertEquals("/watchtest", e.getPath());
-        } else {
-            // we'll catch this later if it does happen after timeout, so
-            // why waste the time on poll
-        }
-
-        Assert.assertTrue(localWatcher.events.isEmpty()); // ensure no late arrivals
-        stopServer();
-        globalWatcher.waitForDisconnected(TIMEOUT);
-        try {
-            try {
-                localWatcher.waitForDisconnected(500);
-                if (!isGlobal && !disableAutoWatchReset) {
-                    Assert.fail("Got an event when I shouldn't have");
-                }
-            } catch(TimeoutException toe) {
-                if (disableAutoWatchReset) {
-                    Assert.fail("Didn't get an event when I should have");
-                }
-                // Else what we are expecting since there are no outstanding watches
-            }
-        } catch (Exception e1) {
-            LOG.error("bad", e1);
-            throw new RuntimeException(e1);
-        }
-        startServer();
-        globalWatcher.waitForConnected(TIMEOUT);
-
-        if (isGlobal) {
-            zk.getChildren("/watchtest", true);
-            zk.getData("/watchtest/child", true, new Stat());
-            zk.exists("/watchtest/child2", true);
-        } else {
-            zk.getChildren("/watchtest", localWatcher);
-            zk.getData("/watchtest/child", localWatcher, new Stat());
-            zk.exists("/watchtest/child2", localWatcher);
-        }
-
-        // Do trigger an event to make sure that we do not get
-        // it later
-        zk.delete("/watchtest/child2", -1);
-
-        e = localWatcher.events.poll(TIMEOUT, TimeUnit.MILLISECONDS);
-        Assert.assertEquals(EventType.NodeDeleted, e.getType());
-        Assert.assertEquals("/watchtest/child2", e.getPath());
-
-        e = localWatcher.events.poll(TIMEOUT, TimeUnit.MILLISECONDS);
-        Assert.assertEquals(EventType.NodeChildrenChanged, e.getType());
-        Assert.assertEquals("/watchtest", e.getPath());
-
-        Assert.assertTrue(localWatcher.events.isEmpty());
-
-        stopServer();
-        globalWatcher.waitForDisconnected(TIMEOUT);
-        localWatcher.waitForDisconnected(500);
-        startServer();
-        globalWatcher.waitForConnected(TIMEOUT);
-        if (!isGlobal && !disableAutoWatchReset) {
-            localWatcher.waitForConnected(500);
-        }
-
-        zk.delete("/watchtest/child", -1);
-        zk.delete("/watchtest", -1);
-
-        if (!disableAutoWatchReset) {
-            e = localWatcher.events.poll(TIMEOUT, TimeUnit.MILLISECONDS);
-            Assert.assertEquals(EventType.NodeDeleted, e.getType());
-            Assert.assertEquals("/watchtest/child", e.getPath());
-        } else {
-            // we'll catch this later if it does happen after timeout, so
-            // why waste the time on poll
-        }
-
-        // Make sure nothing is straggling!
-        Thread.sleep(1000);
-        Assert.assertTrue(localWatcher.events.isEmpty());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/cb9f303b/zookeeper-common/src/test/java/org/apache/zookeeper/test/X509AuthTest.java
----------------------------------------------------------------------
diff --git a/zookeeper-common/src/test/java/org/apache/zookeeper/test/X509AuthTest.java b/zookeeper-common/src/test/java/org/apache/zookeeper/test/X509AuthTest.java
deleted file mode 100644
index 4982cf3..0000000
--- a/zookeeper-common/src/test/java/org/apache/zookeeper/test/X509AuthTest.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.zookeeper.test;
-
-import java.math.BigInteger;
-import java.net.Socket;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
-import java.security.Principal;
-import java.security.PrivateKey;
-import java.security.PublicKey;
-import java.security.SignatureException;
-import java.security.cert.CertificateEncodingException;
-import java.security.cert.CertificateException;
-import java.security.cert.CertificateExpiredException;
-import java.security.cert.CertificateNotYetValidException;
-import java.security.cert.X509Certificate;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.Set;
-
-import javax.net.ssl.X509KeyManager;
-import javax.net.ssl.X509TrustManager;
-import javax.security.auth.x500.X500Principal;
-
-
-import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.ZKTestCase;
-import org.apache.zookeeper.server.MockServerCnxn;
-import org.apache.zookeeper.server.auth.X509AuthenticationProvider;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-public class X509AuthTest extends ZKTestCase {
-    private static TestCertificate clientCert;
-    private static TestCertificate superCert;
-    private static TestCertificate unknownCert;
-
-    @Before
-    public void setUp() {
-        System.setProperty("zookeeper.X509AuthenticationProvider.superUser",
-                "CN=SUPER");
-        System.setProperty("zookeeper.ssl.keyManager",
-                "org.apache.zookeeper.test.X509AuthTest.TestKeyManager");
-        System.setProperty("zookeeper.ssl.trustManager",
-                "org.apache.zookeeper.test.X509AuthTest.TestTrustManager");
-
-        clientCert = new TestCertificate("CLIENT");
-        superCert = new TestCertificate("SUPER");
-        unknownCert = new TestCertificate("UNKNOWN");
-    }
-
-    @Test
-    public void testTrustedAuth() {
-        X509AuthenticationProvider provider = createProvider(clientCert);
-        MockServerCnxn cnxn = new MockServerCnxn();
-        cnxn.clientChain = new X509Certificate[] { clientCert };
-        Assert.assertEquals(KeeperException.Code.OK, provider.handleAuthentication(cnxn, null));
-    }
-
-    @Test
-    public void testSuperAuth() {
-        X509AuthenticationProvider provider = createProvider(superCert);
-        MockServerCnxn cnxn = new MockServerCnxn();
-        cnxn.clientChain = new X509Certificate[] { superCert };
-        Assert.assertEquals(KeeperException.Code.OK, provider.handleAuthentication(cnxn, null));
-        Assert.assertEquals("super", cnxn.getAuthInfo().get(0).getScheme());
-    }
-
-    @Test
-    public void testUntrustedAuth() {
-        X509AuthenticationProvider provider = createProvider(clientCert);
-        MockServerCnxn cnxn = new MockServerCnxn();
-        cnxn.clientChain = new X509Certificate[] { unknownCert };
-        Assert.assertEquals(KeeperException.Code.AUTHFAILED, provider.handleAuthentication(cnxn, null));
-    }
-
-    private static class TestPublicKey implements PublicKey {
-        private static final long serialVersionUID = 1L;
-        @Override
-        public String getAlgorithm() {
-            return null;
-        }
-        @Override
-        public String getFormat() {
-            return null;
-        }
-        @Override
-        public byte[] getEncoded() {
-            return null;
-        }
-    }
-    private static class TestCertificate extends X509Certificate {
-        private byte[] encoded;
-        private X500Principal principal;
-        private PublicKey publicKey;
-        public TestCertificate(String name) {
-            encoded = name.getBytes();
-            principal = new X500Principal("CN=" + name);
-            publicKey = new TestPublicKey();
-        }
-        @Override
-        public boolean hasUnsupportedCriticalExtension() {
-            return false;
-        }
-        @Override
-        public Set<String> getCriticalExtensionOIDs() {
-            return null;
-        }
-        @Override
-        public Set<String> getNonCriticalExtensionOIDs() {
-            return null;
-        }
-        @Override
-        public byte[] getExtensionValue(String oid) {
-            return null;
-        }
-        @Override
-        public void checkValidity() throws CertificateExpiredException,
-                CertificateNotYetValidException {
-        }
-        @Override
-        public void checkValidity(Date date)
-                throws CertificateExpiredException,
-                CertificateNotYetValidException {
-        }
-        @Override
-        public int getVersion() {
-            return 0;
-        }
-        @Override
-        public BigInteger getSerialNumber() {
-            return null;
-        }
-        @Override
-        public Principal getIssuerDN() {
-            return null;
-        }
-        @Override
-        public Principal getSubjectDN() {
-            return null;
-        }
-        @Override
-        public Date getNotBefore() {
-            return null;
-        }
-        @Override
-        public Date getNotAfter() {
-            return null;
-        }
-        @Override
-        public byte[] getTBSCertificate() throws CertificateEncodingException {
-            return null;
-        }
-        @Override
-        public byte[] getSignature() {
-            return null;
-        }
-        @Override
-        public String getSigAlgName() {
-            return null;
-        }
-        @Override
-        public String getSigAlgOID() {
-            return null;
-        }
-        @Override
-        public byte[] getSigAlgParams() {
-            return null;
-        }
-        @Override
-        public boolean[] getIssuerUniqueID() {
-            return null;
-        }
-        @Override
-        public boolean[] getSubjectUniqueID() {
-            return null;
-        }
-        @Override
-        public boolean[] getKeyUsage() {
-            return null;
-        }
-        @Override
-        public int getBasicConstraints() {
-            return 0;
-        }
-        @Override
-        public byte[] getEncoded() throws CertificateEncodingException {
-            return encoded;
-        }
-        @Override
-        public void verify(PublicKey key) throws CertificateException,
-                NoSuchAlgorithmException, InvalidKeyException,
-                NoSuchProviderException, SignatureException {
-        }
-        @Override
-        public void verify(PublicKey key, String sigProvider)
-                throws CertificateException, NoSuchAlgorithmException,
-                InvalidKeyException, NoSuchProviderException,
-                SignatureException {
-        }
-        @Override
-        public String toString() {
-            return null;
-        }
-        @Override
-        public PublicKey getPublicKey() {
-            return publicKey;
-        }
-        @Override
-        public X500Principal getSubjectX500Principal() {
-            return principal;
-        }
-    }
-    public static class TestKeyManager implements X509KeyManager {
-        @Override
-        public String chooseClientAlias(String[] keyType, Principal[] issuers,
-                Socket socket) {
-            return null;
-        }
-        @Override
-        public String chooseServerAlias(String keyType, Principal[] issuers,
-                Socket socket) {
-            return null;
-        }
-        @Override
-        public X509Certificate[] getCertificateChain(String alias) {
-            return null;
-        }
-        @Override
-        public String[] getClientAliases(String keyType, Principal[] issuers) {
-            return null;
-        }
-        @Override
-        public PrivateKey getPrivateKey(String alias) {
-            return null;
-        }
-        @Override
-        public String[] getServerAliases(String keyType, Principal[] issuers) {
-            return null;
-        }
-    }
-    public static class TestTrustManager implements X509TrustManager {
-        X509Certificate cert;
-        public TestTrustManager(X509Certificate testCert) {
-            cert = testCert;
-        }
-        @Override
-        public void checkClientTrusted(X509Certificate[] chain, String authType)
-                throws CertificateException {
-            if (!Arrays.equals(cert.getEncoded(), chain[0].getEncoded())) {
-                throw new CertificateException("Client cert not trusted");
-            }
-        }
-        @Override
-        public void checkServerTrusted(X509Certificate[] chain, String authType)
-                throws CertificateException {
-            if (!Arrays.equals(cert.getEncoded(), chain[0].getEncoded())) {
-                throw new CertificateException("Server cert not trusted");
-            }
-        }
-        @Override
-        public X509Certificate[] getAcceptedIssuers() {
-            return null;
-        }
-    }
-
-    protected X509AuthenticationProvider createProvider(X509Certificate trustedCert) {
-        return new X509AuthenticationProvider(
-                new TestTrustManager(trustedCert),
-                new TestKeyManager());
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/cb9f303b/zookeeper-common/src/test/java/org/apache/zookeeper/test/ZkDatabaseCorruptionTest.java
----------------------------------------------------------------------
diff --git a/zookeeper-common/src/test/java/org/apache/zookeeper/test/ZkDatabaseCorruptionTest.java b/zookeeper-common/src/test/java/org/apache/zookeeper/test/ZkDatabaseCorruptionTest.java
deleted file mode 100644
index c757fc3..0000000
--- a/zookeeper-common/src/test/java/org/apache/zookeeper/test/ZkDatabaseCorruptionTest.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.zookeeper.test;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.util.Arrays;
-
-import org.apache.zookeeper.AsyncCallback;
-import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.ZKTestCase;
-import org.apache.zookeeper.ZooDefs;
-import org.apache.zookeeper.ZooKeeper;
-import org.apache.zookeeper.server.SyncRequestProcessor;
-import org.apache.zookeeper.server.ZKDatabase;
-import org.apache.zookeeper.server.persistence.FileTxnSnapLog;
-import org.apache.zookeeper.server.quorum.QuorumPeer;
-import org.apache.zookeeper.server.quorum.QuorumPeer.ServerState;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.junit.Assert.assertEquals;
-
-public class ZkDatabaseCorruptionTest extends ZKTestCase {
-    protected static final Logger LOG = LoggerFactory.getLogger(ZkDatabaseCorruptionTest.class);
-    public static final long CONNECTION_TIMEOUT = ClientTest.CONNECTION_TIMEOUT;
-
-    private final QuorumBase qb = new QuorumBase();
-
-    @Before
-    public void setUp() throws Exception {
-        LOG.info("STARTING quorum " + getClass().getName());
-        qb.setUp();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        LOG.info("STOPPING quorum " + getClass().getName());
-    }
-
-    private void corruptFile(File f) throws IOException {
-        RandomAccessFile outFile = new RandomAccessFile(f, "rw");
-        outFile.write("fail servers".getBytes());
-        outFile.close();
-    }
-
-    private void corruptAllSnapshots(File snapDir) throws IOException {
-        File[] listFiles = snapDir.listFiles();
-        for (File f: listFiles) {
-            if (f.getName().startsWith("snapshot")) {
-                corruptFile(f);
-            }
-        }
-    }
-
-    private class NoopStringCallback implements AsyncCallback.StringCallback {
-        @Override
-        public void processResult(int rc, String path, Object ctx,
-                                  String name) {
-        }
-    }
-
-    @Test
-    public void testCorruption() throws Exception {
-        ClientBase.waitForServerUp(qb.hostPort, 10000);
-        ClientBase.waitForServerUp(qb.hostPort, 10000);
-        ZooKeeper zk = ClientBase.createZKClient(qb.hostPort, 10000);
-        SyncRequestProcessor.setSnapCount(100);
-        for (int i = 0; i < 2000; i++) {
-            zk.create("/0-" + i, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE,
-                      CreateMode.PERSISTENT, new NoopStringCallback(), null);
-        }
-        zk.close();
-
-        long leaderSid = 1;
-        QuorumPeer leader = null;
-        //find out who is the leader and kill it
-        for (QuorumPeer quorumPeer : Arrays.asList(qb.s1, qb.s2, qb.s3, qb.s4, qb.s5)) {
-            if (quorumPeer.getPeerState() == ServerState.LEADING) {
-                leader = quorumPeer;
-                break;
-            }
-            ++leaderSid;
-        }
-
-        Assert.assertNotNull("Cannot find the leader.", leader);
-        leader.shutdown();
-
-        // now corrupt the leader's database
-        FileTxnSnapLog snapLog = leader.getTxnFactory();
-        File snapDir= snapLog.getSnapDir();
-        //corrupt all the snapshot in the snapshot directory
-        corruptAllSnapshots(snapDir);
-        qb.shutdownServers();
-        qb.setupServers();
-
-        if (leaderSid != 1)qb.s1.start(); else leader = qb.s1;
-        if (leaderSid != 2)qb.s2.start(); else leader = qb.s2;
-        if (leaderSid != 3)qb.s3.start(); else leader = qb.s3;
-        if (leaderSid != 4)qb.s4.start(); else leader = qb.s4;
-        if (leaderSid != 5)qb.s5.start(); else leader = qb.s5;
-
-        try {
-            leader.start();
-            Assert.assertTrue(false);
-        } catch(RuntimeException re) {
-            LOG.info("Got an error: expected", re);
-        }
-        //wait for servers to be up
-        String[] list = qb.hostPort.split(",");
-        for (int i = 0; i < 5; i++) {
-            if(leaderSid != (i + 1)) {
-                String hp = list[i];
-                Assert.assertTrue("waiting for server up",
-                        ClientBase.waitForServerUp(hp,
-                                CONNECTION_TIMEOUT));
-                LOG.info("{} is accepting client connections", hp);
-            } else {
-                LOG.info("Skipping the leader");
-            }
-        }
-
-        zk = qb.createClient();
-        SyncRequestProcessor.setSnapCount(100);
-        for (int i = 2000; i < 4000; i++) {
-            zk.create("/0-" + i, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE,
-                      CreateMode.PERSISTENT, new NoopStringCallback(), null);
-        }
-        zk.close();
-
-        if (leaderSid != 1)QuorumBase.shutdown(qb.s1);
-        if (leaderSid != 2)QuorumBase.shutdown(qb.s2);
-        if (leaderSid != 3)QuorumBase.shutdown(qb.s3);
-        if (leaderSid != 4)QuorumBase.shutdown(qb.s4);
-        if (leaderSid != 5)QuorumBase.shutdown(qb.s5);
-    }
-
-    @Test
-    public void testAbsentRecentSnapshot() throws IOException {
-        ZKDatabase zkDatabase = new ZKDatabase(new FileTxnSnapLog(new File("foo"), new File("bar")){
-            @Override
-            public File findMostRecentSnapshot() throws IOException {
-                return null;
-            }
-        });
-        assertEquals(0, zkDatabase.calculateTxnLogSizeLimit());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/cb9f303b/zookeeper-common/src/test/java/org/apache/zookeeper/test/ZooKeeperQuotaTest.java
----------------------------------------------------------------------
diff --git a/zookeeper-common/src/test/java/org/apache/zookeeper/test/ZooKeeperQuotaTest.java b/zookeeper-common/src/test/java/org/apache/zookeeper/test/ZooKeeperQuotaTest.java
deleted file mode 100644
index 70a1486..0000000
--- a/zookeeper-common/src/test/java/org/apache/zookeeper/test/ZooKeeperQuotaTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.zookeeper.test;
-
-import java.io.IOException;
-
-import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.Quotas;
-import org.apache.zookeeper.StatsTrack;
-import org.apache.zookeeper.ZooKeeper;
-import org.apache.zookeeper.ZooKeeperMain;
-import org.apache.zookeeper.ZooDefs.Ids;
-import org.apache.zookeeper.data.Stat;
-import org.apache.zookeeper.server.ZooKeeperServer;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class ZooKeeperQuotaTest extends ClientBase {
-
-    @Test
-    public void testQuota() throws IOException,
-        InterruptedException, KeeperException, Exception {
-        final ZooKeeper zk = createClient();
-        final String path = "/a/b/v";
-        // making sure setdata works on /
-        zk.setData("/", "some".getBytes(), -1);
-        zk.create("/a", "some".getBytes(), Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-
-        zk.create("/a/b", "some".getBytes(), Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-
-        zk.create("/a/b/v", "some".getBytes(), Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-
-        zk.create("/a/b/v/d", "some".getBytes(), Ids.OPEN_ACL_UNSAFE,
-                CreateMode.PERSISTENT);
-        ZooKeeperMain.createQuota(zk, path, 5L, 10);
-
-        // see if its set
-        String absolutePath = Quotas.quotaZookeeper + path + "/" + Quotas.limitNode;
-        byte[] data = zk.getData(absolutePath, false, new Stat());
-        StatsTrack st = new StatsTrack(new String(data));
-        Assert.assertTrue("bytes are set", st.getBytes() == 5L);
-        Assert.assertTrue("num count is set", st.getCount() == 10);
-
-        String statPath = Quotas.quotaZookeeper + path + "/" + Quotas.statNode;
-        byte[] qdata = zk.getData(statPath, false, new Stat());
-        StatsTrack qst = new StatsTrack(new String(qdata));
-        Assert.assertTrue("bytes are set", qst.getBytes() == 8L);
-        Assert.assertTrue("count is set", qst.getCount() == 2);
-
-        //force server to restart and load from snapshot, not txn log
-        stopServer();
-        startServer();
-        stopServer();
-        startServer();
-        ZooKeeperServer server = getServer(serverFactory);
-        Assert.assertNotNull("Quota is still set",
-            server.getZKDatabase().getDataTree().getMaxPrefixWithQuota(path) != null);
-    }
-}


Mime
View raw message