You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by an...@apache.org on 2018/10/10 10:30:50 UTC

[51/51] [partial] zookeeper git commit: ZOOKEEPER-3032: MAVEN MIGRATION - branch 3.4 move java server, client

ZOOKEEPER-3032: MAVEN MIGRATION - branch 3.4 move java server, client

Author: Norbert Kalmar <nk...@yahoo.com>

Reviewers: andor@apache.org

Closes #658 from nkalmar/ZOOKEEPER-3032-3.4


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

Branch: refs/heads/branch-3.4
Commit: c0aa3b3f3bd7754c21010a007442f6f5686a3865
Parents: 74c245b
Author: Norbert Kalmar <nk...@yahoo.com>
Authored: Wed Oct 10 12:29:50 2018 +0200
Committer: Andor Molnar <an...@apache.org>
Committed: Wed Oct 10 12:29:50 2018 +0200

----------------------------------------------------------------------
 .gitignore                                      |    4 +-
 bin/zkEnv.sh                                    |    2 +-
 build.xml                                       |  207 +-
 src/LICENSE.txt                                 |  216 --
 src/NOTICE.txt                                  |  100 -
 src/java/OldChangeLog                           |    0
 src/java/lib/cobertura/README.txt               |    3 -
 src/java/lib/jdiff/zookeeper_3.1.1.xml          | 2717 ------------------
 src/java/lib/jline-0.9.94.LICENSE.txt           |   33 -
 src/java/lib/log4j-1.2.17.LICENSE.txt           |  202 --
 src/java/lib/slf4j-1.7.25.LICENSE.txt           |   24 -
 .../org/apache/zookeeper/AsyncCallback.java     |  309 --
 .../main/org/apache/zookeeper/ClientCnxn.java   | 1481 ----------
 .../org/apache/zookeeper/ClientCnxnSocket.java  |  175 --
 .../apache/zookeeper/ClientCnxnSocketNIO.java   |  431 ---
 .../apache/zookeeper/ClientWatchManager.java    |   40 -
 .../main/org/apache/zookeeper/CreateMode.java   |   94 -
 .../main/org/apache/zookeeper/Environment.java  |  103 -
 .../apache/zookeeper/JLineZNodeCompletor.java   |   84 -
 .../org/apache/zookeeper/KeeperException.java   |  728 -----
 src/java/main/org/apache/zookeeper/Login.java   |  407 ---
 .../org/apache/zookeeper/MultiResponse.java     |  166 --
 .../zookeeper/MultiTransactionRecord.java       |  160 --
 src/java/main/org/apache/zookeeper/Op.java      |  351 ---
 .../main/org/apache/zookeeper/OpResult.java     |  185 --
 src/java/main/org/apache/zookeeper/Quotas.java  |   68 -
 .../zookeeper/SaslClientCallbackHandler.java    |  104 -
 .../org/apache/zookeeper/ServerAdminClient.java |  316 --
 src/java/main/org/apache/zookeeper/Shell.java   |  477 ---
 .../main/org/apache/zookeeper/StatsTrack.java   |  101 -
 .../main/org/apache/zookeeper/Testable.java     |   29 -
 .../main/org/apache/zookeeper/Transaction.java  |   70 -
 src/java/main/org/apache/zookeeper/Version.java |   90 -
 .../main/org/apache/zookeeper/WatchedEvent.java |   81 -
 src/java/main/org/apache/zookeeper/Watcher.java |  155 -
 src/java/main/org/apache/zookeeper/ZKUtil.java  |  124 -
 src/java/main/org/apache/zookeeper/ZooDefs.java |  125 -
 .../main/org/apache/zookeeper/ZooKeeper.java    | 1857 ------------
 .../org/apache/zookeeper/ZooKeeperMain.java     |  871 ------
 .../org/apache/zookeeper/ZooKeeperTestable.java |   47 -
 .../zookeeper/client/ConnectStringParser.java   |   87 -
 .../zookeeper/client/FourLetterWordMain.java    |  107 -
 .../apache/zookeeper/client/HostProvider.java   |   66 -
 .../zookeeper/client/StaticHostProvider.java    |  179 --
 .../zookeeper/client/ZooKeeperSaslClient.java   |  439 ---
 .../common/AtomicFileOutputStream.java          |  126 -
 .../org/apache/zookeeper/common/IOUtils.java    |  123 -
 .../org/apache/zookeeper/common/PathTrie.java   |  293 --
 .../org/apache/zookeeper/common/PathUtils.java  |  103 -
 .../main/org/apache/zookeeper/common/Time.java  |   52 -
 .../org/apache/zookeeper/jmx/CommonNames.java   |   29 -
 .../org/apache/zookeeper/jmx/MBeanRegistry.java |  219 --
 .../org/apache/zookeeper/jmx/ManagedUtil.java   |   72 -
 .../org/apache/zookeeper/jmx/ZKMBeanInfo.java   |   36 -
 .../zookeeper/server/ByteBufferInputStream.java |   82 -
 .../server/ByteBufferOutputStream.java          |   52 -
 .../apache/zookeeper/server/ConnectionBean.java |  173 --
 .../zookeeper/server/ConnectionMXBean.java      |   98 -
 .../org/apache/zookeeper/server/DataNode.java   |  180 --
 .../org/apache/zookeeper/server/DataTree.java   | 1237 --------
 .../apache/zookeeper/server/DataTreeBean.java   |   61 -
 .../apache/zookeeper/server/DataTreeMXBean.java |   47 -
 .../zookeeper/server/DatadirCleanupManager.java |  192 --
 .../org/apache/zookeeper/server/ExitCode.java   |   27 -
 .../zookeeper/server/FinalRequestProcessor.java |  406 ---
 .../apache/zookeeper/server/LogFormatter.java   |  108 -
 .../apache/zookeeper/server/NIOServerCnxn.java  | 1218 --------
 .../zookeeper/server/NIOServerCnxnFactory.java  |  327 ---
 .../zookeeper/server/NettyServerCnxn.java       |  897 ------
 .../server/NettyServerCnxnFactory.java          |  426 ---
 .../apache/zookeeper/server/ObserverBean.java   |   49 -
 .../zookeeper/server/PrepRequestProcessor.java  |  774 -----
 .../apache/zookeeper/server/PurgeTxnLog.java    |  236 --
 .../server/ReferenceCountedACLCache.java        |  226 --
 .../org/apache/zookeeper/server/Request.java    |  254 --
 .../zookeeper/server/RequestProcessor.java      |   44 -
 .../org/apache/zookeeper/server/ServerCnxn.java |  548 ----
 .../zookeeper/server/ServerCnxnFactory.java     |  226 --
 .../apache/zookeeper/server/ServerConfig.java   |  112 -
 .../apache/zookeeper/server/ServerStats.java    |  158 -
 .../apache/zookeeper/server/SessionTracker.java |   81 -
 .../zookeeper/server/SessionTrackerImpl.java    |  280 --
 .../zookeeper/server/SnapshotFormatter.java     |  128 -
 .../main/org/apache/zookeeper/server/Stats.java |   68 -
 .../zookeeper/server/SyncRequestProcessor.java  |  234 --
 .../apache/zookeeper/server/TraceFormatter.java |  123 -
 .../server/UnimplementedRequestProcessor.java   |   48 -
 .../apache/zookeeper/server/WatchManager.java   |  171 --
 .../org/apache/zookeeper/server/ZKDatabase.java |  499 ----
 .../server/ZooKeeperCriticalThread.java         |   52 -
 .../zookeeper/server/ZooKeeperSaslServer.java   |   65 -
 .../zookeeper/server/ZooKeeperServer.java       | 1104 -------
 .../zookeeper/server/ZooKeeperServerBean.java   |  162 --
 .../server/ZooKeeperServerListener.java         |   35 -
 .../server/ZooKeeperServerListenerImpl.java     |   45 -
 .../zookeeper/server/ZooKeeperServerMXBean.java |  126 -
 .../zookeeper/server/ZooKeeperServerMain.java   |  155 -
 .../server/ZooKeeperServerShutdownHandler.java  |   46 -
 .../zookeeper/server/ZooKeeperThread.java       |   62 -
 .../org/apache/zookeeper/server/ZooTrace.java   |   91 -
 .../server/auth/AuthenticationProvider.java     |   82 -
 .../auth/DigestAuthenticationProvider.java      |  139 -
 .../server/auth/DigestLoginModule.java          |   61 -
 .../server/auth/IPAuthenticationProvider.java   |  117 -
 .../zookeeper/server/auth/KerberosName.java     |  418 ---
 .../zookeeper/server/auth/ProviderRegistry.java |   77 -
 .../server/auth/SASLAuthenticationProvider.java |   70 -
 .../server/auth/SaslServerCallbackHandler.java  |  154 -
 .../org/apache/zookeeper/server/package.html    |  101 -
 .../server/persistence/FilePadding.java         |  112 -
 .../zookeeper/server/persistence/FileSnap.java  |  255 --
 .../server/persistence/FileTxnLog.java          |  694 -----
 .../server/persistence/FileTxnSnapLog.java      |  428 ---
 .../zookeeper/server/persistence/SnapShot.java  |   66 -
 .../zookeeper/server/persistence/TxnLog.java    |  128 -
 .../server/persistence/TxnLogToolkit.java       |  273 --
 .../persistence/TxnLogToolkitCliParser.java     |  101 -
 .../zookeeper/server/persistence/Util.java      |  321 ---
 .../server/quorum/AckRequestProcessor.java      |   54 -
 .../server/quorum/AuthFastLeaderElection.java   |  980 -------
 .../server/quorum/CommitProcessor.java          |  195 --
 .../zookeeper/server/quorum/Election.java       |   27 -
 .../server/quorum/FastLeaderElection.java       | 1015 -------
 .../zookeeper/server/quorum/Follower.java       |  172 --
 .../zookeeper/server/quorum/FollowerBean.java   |   55 -
 .../zookeeper/server/quorum/FollowerMXBean.java |   46 -
 .../server/quorum/FollowerRequestProcessor.java |  114 -
 .../server/quorum/FollowerZooKeeperServer.java  |  165 --
 .../apache/zookeeper/server/quorum/Leader.java  | 1083 -------
 .../zookeeper/server/quorum/LeaderBean.java     |   77 -
 .../zookeeper/server/quorum/LeaderElection.java |  295 --
 .../server/quorum/LeaderElectionBean.java       |   42 -
 .../server/quorum/LeaderElectionMXBean.java     |   31 -
 .../zookeeper/server/quorum/LeaderMXBean.java   |   61 -
 .../server/quorum/LeaderZooKeeperServer.java    |  182 --
 .../apache/zookeeper/server/quorum/Learner.java |  570 ----
 .../zookeeper/server/quorum/LearnerHandler.java |  715 -----
 .../server/quorum/LearnerSessionTracker.java    |   98 -
 .../server/quorum/LearnerSyncRequest.java       |   34 -
 .../server/quorum/LearnerZooKeeperServer.java   |  146 -
 .../zookeeper/server/quorum/LocalPeerBean.java  |   79 -
 .../server/quorum/LocalPeerMXBean.java          |   77 -
 .../zookeeper/server/quorum/Observer.java       |  141 -
 .../zookeeper/server/quorum/ObserverMXBean.java |   37 -
 .../server/quorum/ObserverRequestProcessor.java |  128 -
 .../server/quorum/ObserverZooKeeperServer.java  |  152 -
 .../server/quorum/ProposalRequestProcessor.java |   93 -
 .../zookeeper/server/quorum/ProposalStats.java  |   71 -
 .../zookeeper/server/quorum/QuorumBean.java     |   44 -
 .../server/quorum/QuorumCnxManager.java         | 1152 --------
 .../zookeeper/server/quorum/QuorumMXBean.java   |   34 -
 .../zookeeper/server/quorum/QuorumPeer.java     | 1544 ----------
 .../server/quorum/QuorumPeerConfig.java         |  483 ----
 .../zookeeper/server/quorum/QuorumPeerMain.java |  182 --
 .../zookeeper/server/quorum/QuorumStats.java    |   68 -
 .../server/quorum/QuorumZooKeeperServer.java    |   65 -
 .../zookeeper/server/quorum/ReadOnlyBean.java   |   38 -
 .../server/quorum/ReadOnlyRequestProcessor.java |  129 -
 .../server/quorum/ReadOnlyZooKeeperServer.java  |  155 -
 .../zookeeper/server/quorum/RemotePeerBean.java |   45 -
 .../server/quorum/RemotePeerMXBean.java         |   33 -
 .../server/quorum/SendAckRequestProcessor.java  |   80 -
 .../zookeeper/server/quorum/ServerBean.java     |   38 -
 .../zookeeper/server/quorum/ServerMXBean.java   |   33 -
 .../zookeeper/server/quorum/StateSummary.java   |   57 -
 .../apache/zookeeper/server/quorum/Vote.java    |  169 --
 .../quorum/auth/NullQuorumAuthLearner.java      |   33 -
 .../quorum/auth/NullQuorumAuthServer.java       |   34 -
 .../server/quorum/auth/QuorumAuth.java          |   96 -
 .../server/quorum/auth/QuorumAuthLearner.java   |   40 -
 .../server/quorum/auth/QuorumAuthServer.java    |   41 -
 .../quorum/auth/SaslQuorumAuthLearner.java      |  225 --
 .../quorum/auth/SaslQuorumAuthServer.java       |  180 --
 .../auth/SaslQuorumServerCallbackHandler.java   |  148 -
 .../quorum/flexible/QuorumHierarchical.java     |  275 --
 .../server/quorum/flexible/QuorumMaj.java       |   63 -
 .../server/quorum/flexible/QuorumVerifier.java  |   33 -
 .../zookeeper/server/upgrade/DataNodeV1.java    |  129 -
 .../zookeeper/server/upgrade/DataTreeV1.java    |  567 ----
 .../zookeeper/server/upgrade/UpgradeMain.java   |  185 --
 .../server/upgrade/UpgradeSnapShot.java         |   33 -
 .../server/upgrade/UpgradeSnapShotV1.java       |  332 ---
 .../zookeeper/server/util/KerberosUtil.java     |   44 -
 .../apache/zookeeper/server/util/OSMXBean.java  |  181 --
 .../apache/zookeeper/server/util/Profiler.java  |   41 -
 .../zookeeper/server/util/SerializeUtils.java   |  159 -
 .../apache/zookeeper/server/util/ZxidUtils.java |   34 -
 .../apache/zookeeper/util/SecurityUtils.java    |  298 --
 .../apache/zookeeper/version/util/VerGen.java   |  178 --
 src/java/main/overview.html                     |   26 -
 src/java/systest/README.txt                     |   62 -
 .../zookeeper/test/system/BaseSysTest.java      |  280 --
 .../test/system/DuplicateNameException.java     |   26 -
 .../zookeeper/test/system/GenerateLoad.java     |  720 -----
 .../apache/zookeeper/test/system/Instance.java  |   59 -
 .../test/system/InstanceContainer.java          |  310 --
 .../zookeeper/test/system/InstanceManager.java  |  357 ---
 .../test/system/NoAssignmentException.java      |   24 -
 .../test/system/NoAvailableContainers.java      |   28 -
 .../test/system/QuorumPeerInstance.java         |  284 --
 .../zookeeper/test/system/SimpleClient.java     |  118 -
 .../zookeeper/test/system/SimpleSysTest.java    |  171 --
 src/java/test/bin/check_compatibility.py        |  204 --
 src/java/test/bin/test-github-pr.sh             |  616 ----
 src/java/test/bin/test-patch.properties         |   18 -
 src/java/test/bin/test-patch.sh                 |  637 ----
 src/java/test/checkstyle-noframes-sorted.xsl    |  178 --
 src/java/test/checkstyle.xml                    |  187 --
 src/java/test/config/findbugsExcludeFile.xml    |  166 --
 .../test/data/buffersize/create/version-2/log.1 |  Bin 51216 -> 0 bytes
 .../data/buffersize/create/version-2/snapshot.0 |  Bin 296 -> 0 bytes
 .../test/data/buffersize/set/version-2/log.1    |  Bin 51216 -> 0 bytes
 .../data/buffersize/set/version-2/snapshot.0    |  Bin 296 -> 0 bytes
 .../data/buffersize/snapshot/version-2/log.1    |  Bin 51216 -> 0 bytes
 .../buffersize/snapshot/version-2/snapshot.0    |  Bin 296 -> 0 bytes
 .../buffersize/snapshot/version-2/snapshot.2    |  Bin 5429 -> 0 bytes
 src/java/test/data/invalidsnap/version-2/log.1  |  Bin 59360 -> 0 bytes
 .../test/data/invalidsnap/version-2/log.274     |  Bin 91616 -> 0 bytes
 src/java/test/data/invalidsnap/version-2/log.42 |  Bin 184 -> 0 bytes
 .../test/data/invalidsnap/version-2/log.63b     |  Bin 49008 -> 0 bytes
 .../test/data/invalidsnap/version-2/snapshot.0  |  Bin 296 -> 0 bytes
 .../data/invalidsnap/version-2/snapshot.272     |  Bin 56408 -> 0 bytes
 .../data/invalidsnap/version-2/snapshot.273     |  Bin 56521 -> 0 bytes
 .../data/invalidsnap/version-2/snapshot.639     |  Bin 143163 -> 0 bytes
 .../data/invalidsnap/version-2/snapshot.83f     |  Bin 4824 -> 0 bytes
 src/java/test/data/kerberos/minikdc-krb5.conf   |   30 -
 src/java/test/data/kerberos/minikdc.ldiff       |   52 -
 src/java/test/data/upgrade/log.100000001        |  Bin 2458624 -> 0 bytes
 src/java/test/data/upgrade/log.100001bf0        |  Bin 1025024 -> 0 bytes
 src/java/test/data/upgrade/snapshot.100000000   |  Bin 73 -> 0 bytes
 src/java/test/data/upgrade/snapshot.100001bec   |  Bin 2567595 -> 0 bytes
 .../apache/zookeeper/ClientReconnectTest.java   |   78 -
 .../apache/zookeeper/JUnit4ZKTestRunner.java    |   86 -
 .../org/apache/zookeeper/JaasConfiguration.java |   75 -
 .../test/org/apache/zookeeper/MockPacket.java   |   46 -
 .../org/apache/zookeeper/MultiResponseTest.java |   72 -
 .../zookeeper/MultiTransactionRecordTest.java   |   68 -
 .../org/apache/zookeeper/PortAssignment.java    |   35 -
 .../test/org/apache/zookeeper/SaslAuthTest.java |  213 --
 .../org/apache/zookeeper/ServerConfigTest.java  |   74 -
 .../org/apache/zookeeper/TestableZooKeeper.java |  133 -
 .../test/org/apache/zookeeper/VerGenTest.java   |   78 -
 .../test/org/apache/zookeeper/ZKTestCase.java   |   88 -
 .../org/apache/zookeeper/ZooKeeperTest.java     |  281 --
 .../org/apache/zookeeper/common/TimeTest.java   |  109 -
 .../org/apache/zookeeper/server/CRCTest.java    |  190 --
 .../apache/zookeeper/server/DataNodeTest.java   |   65 -
 .../apache/zookeeper/server/DataTreeTest.java   |  235 --
 .../zookeeper/server/DataTreeUnitTest.java      |   60 -
 .../server/DatadirCleanupManagerTest.java       |   91 -
 .../server/DeserializationPerfTest.java         |  119 -
 .../zookeeper/server/InvalidSnapCountTest.java  |  126 -
 .../zookeeper/server/InvalidSnapshotTest.java   |   84 -
 .../zookeeper/server/MockNIOServerCnxn.java     |   45 -
 .../zookeeper/server/NIOServerCnxnTest.java     |  106 -
 .../zookeeper/server/NettyServerCnxnTest.java   |  103 -
 .../server/PrepRequestProcessorTest.java        |  262 --
 .../apache/zookeeper/server/PurgeTxnTest.java   |  604 ----
 .../server/ReferenceCountedACLCacheTest.java    |  287 --
 .../zookeeper/server/SerializationPerfTest.java |  125 -
 .../server/ServerCnxnFactoryAccessor.java       |   24 -
 .../zookeeper/server/ServerStatsTest.java       |  145 -
 .../zookeeper/server/SessionTrackerTest.java    |  156 -
 .../apache/zookeeper/server/ToStringTest.java   |   38 -
 .../server/ZooKeeperServerMainTest.java         |  615 ----
 .../server/ZooKeeperServerStartupTest.java      |  302 --
 .../zookeeper/server/ZooKeeperServerTest.java   |  137 -
 .../zookeeper/server/ZooKeeperThreadTest.java   |   84 -
 .../zookeeper/server/ZxidRolloverTest.java      |  444 ---
 .../server/persistence/FileTxnLogTest.java      |  139 -
 .../server/persistence/FileTxnSnapLogTest.java  |  148 -
 .../persistence/TxnLogToolkitCliParserTest.java |  110 -
 .../server/persistence/TxnLogToolkitTest.java   |  155 -
 .../zookeeper/server/quorum/CnxManagerTest.java |  463 ---
 .../quorum/EphemeralNodeDeletionTest.java       |  219 --
 .../quorum/FLEBackwardElectionRoundTest.java    |  159 -
 .../server/quorum/FLECompatibilityTest.java     |  350 ---
 .../server/quorum/FLEDontCareTest.java          |  262 --
 .../server/quorum/FLELostMessageTest.java       |  113 -
 .../zookeeper/server/quorum/FLETestUtils.java   |   86 -
 .../zookeeper/server/quorum/LeaderBeanTest.java |  151 -
 .../server/quorum/LeaderWithObserverTest.java   |  177 --
 .../zookeeper/server/quorum/LearnerTest.java    |  135 -
 .../server/quorum/ProposalStatsTest.java        |   58 -
 .../server/quorum/QuorumCnxManagerTest.java     |  967 -------
 .../server/quorum/QuorumPeerMainTest.java       | 1386 ---------
 .../server/quorum/QuorumPeerTestBase.java       |  225 --
 .../zookeeper/server/quorum/WatchLeakTest.java  |  306 --
 .../zookeeper/server/quorum/Zab1_0Test.java     | 1376 ---------
 .../zookeeper/server/quorum/ZabUtils.java       |  142 -
 .../auth/ApacheDSKerberosSecurityTestcase.java  |  120 -
 .../server/quorum/auth/ApacheDSMiniKdc.java     |  574 ----
 .../server/quorum/auth/ApacheDSMiniKdcTest.java |  185 --
 .../auth/ApacheDSQuorumKerberosAuthTest.java    |  124 -
 ...ApacheDSQuorumKerberosHostBasedAuthTest.java |  200 --
 .../quorum/auth/KerberosSecurityTestcase.java   |  119 -
 .../server/quorum/auth/KerberosTestUtils.java   |   76 -
 .../zookeeper/server/quorum/auth/MiniKdc.java   |  418 ---
 .../server/quorum/auth/MiniKdcTest.java         |  185 --
 .../server/quorum/auth/QuorumAuthTestBase.java  |  248 --
 .../quorum/auth/QuorumAuthUpgradeTest.java      |  239 --
 .../quorum/auth/QuorumDigestAuthTest.java       |  380 ---
 .../quorum/auth/QuorumKerberosAuthTest.java     |  123 -
 .../auth/QuorumKerberosHostBasedAuthTest.java   |  196 --
 .../zookeeper/server/util/PortForwarder.java    |  256 --
 .../server/util/SerializeUtilsTest.java         |  128 -
 .../org/apache/zookeeper/test/ACLCountTest.java |  136 -
 .../org/apache/zookeeper/test/ACLRootTest.java  |   98 -
 .../test/org/apache/zookeeper/test/ACLTest.java |  186 --
 .../apache/zookeeper/test/AsyncHammerTest.java  |  245 --
 .../org/apache/zookeeper/test/AsyncOps.java     |  655 -----
 .../org/apache/zookeeper/test/AsyncOpsTest.java |  227 --
 .../org/apache/zookeeper/test/AsyncTest.java    |  172 --
 .../test/AtomicFileOutputStreamTest.java        |  200 --
 .../org/apache/zookeeper/test/AuthTest.java     |  174 --
 .../apache/zookeeper/test/BufferSizeTest.java   |  132 -
 .../apache/zookeeper/test/ChrootAsyncTest.java  |   47 -
 .../apache/zookeeper/test/ChrootClientTest.java |   54 -
 .../org/apache/zookeeper/test/ChrootTest.java   |  136 -
 .../org/apache/zookeeper/test/ClientBase.java   |  757 -----
 .../apache/zookeeper/test/ClientHammerTest.java |  246 --
 .../zookeeper/test/ClientPortBindTest.java      |  127 -
 .../org/apache/zookeeper/test/ClientRetry.java  |   72 -
 .../org/apache/zookeeper/test/ClientTest.java   |  805 ------
 .../zookeeper/test/ConnectStringParserTest.java |   68 -
 .../apache/zookeeper/test/CreateModeTest.java   |   81 -
 .../zookeeper/test/DisconnectableZooKeeper.java |   58 -
 .../zookeeper/test/DisconnectedWatcherTest.java |  258 --
 .../apache/zookeeper/test/EventTypeTest.java    |   50 -
 .../apache/zookeeper/test/FLENewEpochTest.java  |  192 --
 .../apache/zookeeper/test/FLEPredicateTest.java |  104 -
 .../apache/zookeeper/test/FLERestartTest.java   |  203 --
 .../test/org/apache/zookeeper/test/FLETest.java |  473 ---
 .../zookeeper/test/FLEZeroWeightTest.java       |  181 --
 .../test/FollowerResyncConcurrencyTest.java     |  607 ----
 .../org/apache/zookeeper/test/FollowerTest.java |  140 -
 .../test/FourLetterWordsQuorumTest.java         |  113 -
 .../zookeeper/test/FourLetterWordsTest.java     |  238 --
 .../test/FourLetterWordsWhiteListTest.java      |  253 --
 .../apache/zookeeper/test/GetChildren2Test.java |  136 -
 .../zookeeper/test/HierarchicalQuorumTest.java  |  309 --
 .../apache/zookeeper/test/IntegrityCheck.java   |  232 --
 .../zookeeper/test/InvalidSnapshotTest.java     |  125 -
 .../test/org/apache/zookeeper/test/JMXEnv.java  |  325 ---
 .../apache/zookeeper/test/KeeperStateTest.java  |   76 -
 .../zookeeper/test/LENonTerminateTest.java      |  378 ---
 .../test/org/apache/zookeeper/test/LETest.java  |  137 -
 .../zookeeper/test/LoadFromLogNoServerTest.java |  175 --
 .../apache/zookeeper/test/LoadFromLogTest.java  |  223 --
 .../org/apache/zookeeper/test/MaxCnxnsTest.java |  139 -
 .../zookeeper/test/MultiTransactionTest.java    |  805 ------
 .../zookeeper/test/NioNettySuiteBase.java       |   43 -
 .../zookeeper/test/NioNettySuiteHammerTest.java |   30 -
 .../zookeeper/test/NioNettySuiteTest.java       |   37 -
 .../zookeeper/test/NonRecoverableErrorTest.java |  183 --
 .../org/apache/zookeeper/test/NullDataTest.java |   75 -
 .../test/org/apache/zookeeper/test/OOMTest.java |  161 --
 .../org/apache/zookeeper/test/OSMXBeanTest.java |   70 -
 .../test/ObserverHierarchicalQuorumTest.java    |   43 -
 .../apache/zookeeper/test/ObserverLETest.java   |   76 -
 .../test/ObserverQuorumHammerTest.java          |   39 -
 .../org/apache/zookeeper/test/ObserverTest.java |  233 --
 .../org/apache/zookeeper/test/QuorumBase.java   |  341 ---
 .../apache/zookeeper/test/QuorumHammerTest.java |   51 -
 .../apache/zookeeper/test/QuorumQuotaTest.java  |   63 -
 .../org/apache/zookeeper/test/QuorumTest.java   |  296 --
 .../org/apache/zookeeper/test/QuorumUtil.java   |  261 --
 .../zookeeper/test/QuorumZxidSyncTest.java      |  171 --
 .../apache/zookeeper/test/ReadOnlyModeTest.java |  291 --
 .../org/apache/zookeeper/test/RecoveryTest.java |  209 --
 .../zookeeper/test/RepeatStartupTest.java       |   69 -
 .../zookeeper/test/RestoreCommittedLogTest.java |   91 -
 .../test/SaslAuthDesignatedClientTest.java      |  104 -
 .../test/SaslAuthDesignatedServerTest.java      |  104 -
 .../test/SaslAuthFailDesignatedClientTest.java  |  108 -
 .../zookeeper/test/SaslAuthFailNotifyTest.java  |   98 -
 .../apache/zookeeper/test/SaslAuthFailTest.java |   76 -
 .../test/SaslAuthMissingClientConfigTest.java   |   97 -
 .../apache/zookeeper/test/SaslClientTest.java   |   62 -
 .../zookeeper/test/SessionInvalidationTest.java |  105 -
 .../org/apache/zookeeper/test/SessionTest.java  |  394 ---
 .../zookeeper/test/SessionTimeoutTest.java      |  129 -
 .../org/apache/zookeeper/test/SledgeHammer.java |  115 -
 .../apache/zookeeper/test/StandaloneTest.java   |   65 -
 .../org/apache/zookeeper/test/StatTest.java     |  205 --
 .../zookeeper/test/StaticHostProviderTest.java  |  362 ---
 .../org/apache/zookeeper/test/SyncCallTest.java |  108 -
 .../org/apache/zookeeper/test/TestHammer.java   |   63 -
 .../org/apache/zookeeper/test/TestUtils.java    |   60 -
 .../org/apache/zookeeper/test/TruncateTest.java |  256 --
 .../org/apache/zookeeper/test/UpgradeTest.java  |  105 -
 .../zookeeper/test/WatchEventWhenAutoReset.java |  212 --
 .../apache/zookeeper/test/WatchedEventTest.java |   95 -
 .../apache/zookeeper/test/WatcherFuncTest.java  |  478 ---
 .../org/apache/zookeeper/test/WatcherTest.java  |  408 ---
 .../test/ZkDatabaseCorruptionTest.java          |  161 --
 .../zookeeper/test/ZooKeeperQuotaTest.java      |   85 -
 .../zookeeper/test/ZooKeeperTestClient.java     |  422 ---
 src/lastRevision.bat                            |   22 -
 src/lastRevision.sh                             |   21 -
 src/pom.template                                |   41 -
 .../zookeeper-client-c/tests/zkServer.sh        |    2 +-
 .../zookeeper/client/ConnectStringParser.java   |   87 +
 .../zookeeper/client/FourLetterWordMain.java    |  107 +
 .../apache/zookeeper/client/HostProvider.java   |   66 +
 .../zookeeper/client/StaticHostProvider.java    |  179 ++
 .../zookeeper/client/ZooKeeperSaslClient.java   |  439 +++
 .../org/apache/zookeeper/AsyncCallback.java     |  309 ++
 .../java/org/apache/zookeeper/ClientCnxn.java   | 1481 ++++++++++
 .../org/apache/zookeeper/ClientCnxnSocket.java  |  175 ++
 .../apache/zookeeper/ClientCnxnSocketNIO.java   |  431 +++
 .../apache/zookeeper/ClientWatchManager.java    |   40 +
 .../java/org/apache/zookeeper/CreateMode.java   |   94 +
 .../java/org/apache/zookeeper/Environment.java  |  103 +
 .../org/apache/zookeeper/KeeperException.java   |  728 +++++
 .../main/java/org/apache/zookeeper/Login.java   |  407 +++
 .../org/apache/zookeeper/MultiResponse.java     |  166 ++
 .../zookeeper/MultiTransactionRecord.java       |  160 ++
 .../src/main/java/org/apache/zookeeper/Op.java  |  351 +++
 .../java/org/apache/zookeeper/OpResult.java     |  185 ++
 .../main/java/org/apache/zookeeper/Quotas.java  |   68 +
 .../zookeeper/SaslClientCallbackHandler.java    |  104 +
 .../org/apache/zookeeper/ServerAdminClient.java |  316 ++
 .../main/java/org/apache/zookeeper/Shell.java   |  477 +++
 .../java/org/apache/zookeeper/StatsTrack.java   |  101 +
 .../java/org/apache/zookeeper/Testable.java     |   29 +
 .../java/org/apache/zookeeper/Transaction.java  |   70 +
 .../main/java/org/apache/zookeeper/Version.java |   90 +
 .../java/org/apache/zookeeper/WatchedEvent.java |   81 +
 .../main/java/org/apache/zookeeper/Watcher.java |  155 +
 .../main/java/org/apache/zookeeper/ZKUtil.java  |  124 +
 .../main/java/org/apache/zookeeper/ZooDefs.java |  125 +
 .../java/org/apache/zookeeper/ZooKeeper.java    | 1857 ++++++++++++
 .../org/apache/zookeeper/ZooKeeperMain.java     |  871 ++++++
 .../org/apache/zookeeper/ZooKeeperTestable.java |   47 +
 .../common/AtomicFileOutputStream.java          |  126 +
 .../org/apache/zookeeper/common/IOUtils.java    |  123 +
 .../org/apache/zookeeper/common/PathTrie.java   |  293 ++
 .../org/apache/zookeeper/common/PathUtils.java  |  103 +
 .../java/org/apache/zookeeper/common/Time.java  |   52 +
 .../apache/zookeeper/util/SecurityUtils.java    |  298 ++
 .../apache/zookeeper/version/util/VerGen.java   |  178 ++
 .../src/main/resources/lib/cobertura/README.txt |    3 +
 .../resources/lib/jdiff/zookeeper_3.1.1.xml     | 2717 ++++++++++++++++++
 .../main/resources/lib/log4j-1.2.17.LICENSE.txt |  202 ++
 .../main/resources/lib/slf4j-1.7.25.LICENSE.txt |   24 +
 .../apache/zookeeper/ClientReconnectTest.java   |   78 +
 .../apache/zookeeper/JUnit4ZKTestRunner.java    |   86 +
 .../org/apache/zookeeper/JaasConfiguration.java |   75 +
 .../java/org/apache/zookeeper/MockPacket.java   |   46 +
 .../org/apache/zookeeper/MultiResponseTest.java |   72 +
 .../zookeeper/MultiTransactionRecordTest.java   |   68 +
 .../org/apache/zookeeper/PortAssignment.java    |   35 +
 .../java/org/apache/zookeeper/SaslAuthTest.java |  213 ++
 .../org/apache/zookeeper/ServerConfigTest.java  |   74 +
 .../org/apache/zookeeper/TestableZooKeeper.java |  133 +
 .../java/org/apache/zookeeper/VerGenTest.java   |   78 +
 .../java/org/apache/zookeeper/ZKTestCase.java   |   88 +
 .../org/apache/zookeeper/ZooKeeperTest.java     |  281 ++
 .../org/apache/zookeeper/common/TimeTest.java   |  109 +
 .../org/apache/zookeeper/test/ACLCountTest.java |  136 +
 .../org/apache/zookeeper/test/ACLRootTest.java  |   98 +
 .../java/org/apache/zookeeper/test/ACLTest.java |  186 ++
 .../apache/zookeeper/test/AsyncHammerTest.java  |  245 ++
 .../org/apache/zookeeper/test/AsyncOps.java     |  655 +++++
 .../org/apache/zookeeper/test/AsyncOpsTest.java |  227 ++
 .../org/apache/zookeeper/test/AsyncTest.java    |  172 ++
 .../test/AtomicFileOutputStreamTest.java        |  200 ++
 .../org/apache/zookeeper/test/AuthTest.java     |  174 ++
 .../apache/zookeeper/test/BufferSizeTest.java   |  132 +
 .../apache/zookeeper/test/ChrootAsyncTest.java  |   47 +
 .../apache/zookeeper/test/ChrootClientTest.java |   54 +
 .../org/apache/zookeeper/test/ChrootTest.java   |  136 +
 .../org/apache/zookeeper/test/ClientBase.java   |  757 +++++
 .../apache/zookeeper/test/ClientHammerTest.java |  246 ++
 .../zookeeper/test/ClientPortBindTest.java      |  127 +
 .../org/apache/zookeeper/test/ClientRetry.java  |   72 +
 .../org/apache/zookeeper/test/ClientTest.java   |  805 ++++++
 .../zookeeper/test/ConnectStringParserTest.java |   68 +
 .../apache/zookeeper/test/CreateModeTest.java   |   81 +
 .../zookeeper/test/DisconnectableZooKeeper.java |   58 +
 .../zookeeper/test/DisconnectedWatcherTest.java |  258 ++
 .../apache/zookeeper/test/EventTypeTest.java    |   50 +
 .../apache/zookeeper/test/FLENewEpochTest.java  |  192 ++
 .../apache/zookeeper/test/FLEPredicateTest.java |  104 +
 .../apache/zookeeper/test/FLERestartTest.java   |  203 ++
 .../java/org/apache/zookeeper/test/FLETest.java |  473 +++
 .../zookeeper/test/FLEZeroWeightTest.java       |  181 ++
 .../test/FollowerResyncConcurrencyTest.java     |  607 ++++
 .../org/apache/zookeeper/test/FollowerTest.java |  140 +
 .../test/FourLetterWordsQuorumTest.java         |  113 +
 .../zookeeper/test/FourLetterWordsTest.java     |  238 ++
 .../test/FourLetterWordsWhiteListTest.java      |  253 ++
 .../apache/zookeeper/test/GetChildren2Test.java |  136 +
 .../zookeeper/test/HierarchicalQuorumTest.java  |  309 ++
 .../apache/zookeeper/test/IntegrityCheck.java   |  232 ++
 .../zookeeper/test/InvalidSnapshotTest.java     |  125 +
 .../java/org/apache/zookeeper/test/JMXEnv.java  |  325 +++
 .../apache/zookeeper/test/KeeperStateTest.java  |   76 +
 .../zookeeper/test/LENonTerminateTest.java      |  378 +++
 .../java/org/apache/zookeeper/test/LETest.java  |  137 +
 .../zookeeper/test/LoadFromLogNoServerTest.java |  175 ++
 .../apache/zookeeper/test/LoadFromLogTest.java  |  223 ++
 .../org/apache/zookeeper/test/MaxCnxnsTest.java |  139 +
 .../zookeeper/test/MultiTransactionTest.java    |  805 ++++++
 .../zookeeper/test/NioNettySuiteBase.java       |   43 +
 .../zookeeper/test/NioNettySuiteHammerTest.java |   30 +
 .../zookeeper/test/NioNettySuiteTest.java       |   37 +
 .../zookeeper/test/NonRecoverableErrorTest.java |  183 ++
 .../org/apache/zookeeper/test/NullDataTest.java |   75 +
 .../java/org/apache/zookeeper/test/OOMTest.java |  161 ++
 .../org/apache/zookeeper/test/OSMXBeanTest.java |   70 +
 .../test/ObserverHierarchicalQuorumTest.java    |   43 +
 .../apache/zookeeper/test/ObserverLETest.java   |   76 +
 .../test/ObserverQuorumHammerTest.java          |   39 +
 .../org/apache/zookeeper/test/ObserverTest.java |  233 ++
 .../org/apache/zookeeper/test/QuorumBase.java   |  341 +++
 .../apache/zookeeper/test/QuorumHammerTest.java |   51 +
 .../apache/zookeeper/test/QuorumQuotaTest.java  |   63 +
 .../org/apache/zookeeper/test/QuorumTest.java   |  296 ++
 .../org/apache/zookeeper/test/QuorumUtil.java   |  261 ++
 .../zookeeper/test/QuorumZxidSyncTest.java      |  171 ++
 .../apache/zookeeper/test/ReadOnlyModeTest.java |  291 ++
 .../org/apache/zookeeper/test/RecoveryTest.java |  209 ++
 .../zookeeper/test/RepeatStartupTest.java       |   69 +
 .../zookeeper/test/RestoreCommittedLogTest.java |   91 +
 .../test/SaslAuthDesignatedClientTest.java      |  104 +
 .../test/SaslAuthDesignatedServerTest.java      |  104 +
 .../test/SaslAuthFailDesignatedClientTest.java  |  108 +
 .../zookeeper/test/SaslAuthFailNotifyTest.java  |   98 +
 .../apache/zookeeper/test/SaslAuthFailTest.java |   76 +
 .../test/SaslAuthMissingClientConfigTest.java   |   97 +
 .../apache/zookeeper/test/SaslClientTest.java   |   62 +
 .../zookeeper/test/SessionInvalidationTest.java |  105 +
 .../org/apache/zookeeper/test/SessionTest.java  |  394 +++
 .../zookeeper/test/SessionTimeoutTest.java      |  129 +
 .../org/apache/zookeeper/test/SledgeHammer.java |  115 +
 .../apache/zookeeper/test/StandaloneTest.java   |   65 +
 .../org/apache/zookeeper/test/StatTest.java     |  205 ++
 .../zookeeper/test/StaticHostProviderTest.java  |  362 +++
 .../org/apache/zookeeper/test/SyncCallTest.java |  108 +
 .../org/apache/zookeeper/test/TestHammer.java   |   63 +
 .../org/apache/zookeeper/test/TestUtils.java    |   60 +
 .../org/apache/zookeeper/test/TruncateTest.java |  256 ++
 .../org/apache/zookeeper/test/UpgradeTest.java  |  105 +
 .../zookeeper/test/WatchEventWhenAutoReset.java |  212 ++
 .../apache/zookeeper/test/WatchedEventTest.java |   95 +
 .../apache/zookeeper/test/WatcherFuncTest.java  |  478 +++
 .../org/apache/zookeeper/test/WatcherTest.java  |  408 +++
 .../test/ZkDatabaseCorruptionTest.java          |  161 ++
 .../zookeeper/test/ZooKeeperQuotaTest.java      |   85 +
 .../zookeeper/test/ZooKeeperTestClient.java     |  422 +++
 .../src/test/resources/check_compatibility.py   |  204 ++
 .../resources/checkstyle-noframes-sorted.xsl    |  178 ++
 .../src/test/resources/checkstyle.xml           |  187 ++
 .../data/buffersize/create/version-2/log.1      |  Bin 0 -> 51216 bytes
 .../data/buffersize/create/version-2/snapshot.0 |  Bin 0 -> 296 bytes
 .../data/buffersize/set/version-2/log.1         |  Bin 0 -> 51216 bytes
 .../data/buffersize/set/version-2/snapshot.0    |  Bin 0 -> 296 bytes
 .../data/buffersize/snapshot/version-2/log.1    |  Bin 0 -> 51216 bytes
 .../buffersize/snapshot/version-2/snapshot.0    |  Bin 0 -> 296 bytes
 .../buffersize/snapshot/version-2/snapshot.2    |  Bin 0 -> 5429 bytes
 .../resources/data/invalidsnap/version-2/log.1  |  Bin 0 -> 59360 bytes
 .../data/invalidsnap/version-2/log.274          |  Bin 0 -> 91616 bytes
 .../resources/data/invalidsnap/version-2/log.42 |  Bin 0 -> 184 bytes
 .../data/invalidsnap/version-2/log.63b          |  Bin 0 -> 49008 bytes
 .../data/invalidsnap/version-2/snapshot.0       |  Bin 0 -> 296 bytes
 .../data/invalidsnap/version-2/snapshot.272     |  Bin 0 -> 56408 bytes
 .../data/invalidsnap/version-2/snapshot.273     |  Bin 0 -> 56521 bytes
 .../data/invalidsnap/version-2/snapshot.639     |  Bin 0 -> 143163 bytes
 .../data/invalidsnap/version-2/snapshot.83f     |  Bin 0 -> 4824 bytes
 .../resources/data/kerberos/minikdc-krb5.conf   |   30 +
 .../test/resources/data/kerberos/minikdc.ldiff  |   52 +
 .../test/resources/data/upgrade/log.100000001   |  Bin 0 -> 2458624 bytes
 .../test/resources/data/upgrade/log.100001bf0   |  Bin 0 -> 1025024 bytes
 .../resources/data/upgrade/snapshot.100000000   |  Bin 0 -> 73 bytes
 .../resources/data/upgrade/snapshot.100001bec   |  Bin 0 -> 2567595 bytes
 .../src/test/resources/findbugsExcludeFile.xml  |  166 ++
 .../src/test/resources/test-github-pr.sh        |  616 ++++
 .../src/test/resources/test-patch.properties    |   18 +
 .../src/test/resources/test-patch.sh            |  637 ++++
 zookeeper-contrib/build-contrib.xml             |    4 +-
 .../zookeeper-contrib-fatjar/build.xml          |    2 +-
 .../zookeeper-contrib-rest/build.xml            |    4 +-
 .../zookeeper-contrib-rest/src/test/zkServer.sh |    2 +-
 .../src/test/zkServer.sh                        |    2 +-
 zookeeper-it/.empty                             |    0
 zookeeper-it/README.txt                         |   62 +
 .../zookeeper/test/system/BaseSysTest.java      |  280 ++
 .../test/system/DuplicateNameException.java     |   26 +
 .../zookeeper/test/system/GenerateLoad.java     |  720 +++++
 .../apache/zookeeper/test/system/Instance.java  |   59 +
 .../test/system/InstanceContainer.java          |  310 ++
 .../zookeeper/test/system/InstanceManager.java  |  357 +++
 .../test/system/NoAssignmentException.java      |   24 +
 .../test/system/NoAvailableContainers.java      |   28 +
 .../test/system/QuorumPeerInstance.java         |  284 ++
 .../zookeeper/test/system/SimpleClient.java     |  118 +
 .../zookeeper/test/system/SimpleSysTest.java    |  171 ++
 zookeeper-recipes/build-recipes.xml             |    2 +-
 .../src/main/c/tests/zkServer.sh                |    2 +-
 .../src/main/c/tests/zkServer.sh                |    2 +-
 .../apache/zookeeper/JLineZNodeCompletor.java   |   84 +
 .../org/apache/zookeeper/jmx/CommonNames.java   |   29 +
 .../org/apache/zookeeper/jmx/MBeanRegistry.java |  219 ++
 .../org/apache/zookeeper/jmx/ManagedUtil.java   |   72 +
 .../org/apache/zookeeper/jmx/ZKMBeanInfo.java   |   36 +
 .../zookeeper/server/ByteBufferInputStream.java |   82 +
 .../server/ByteBufferOutputStream.java          |   52 +
 .../apache/zookeeper/server/ConnectionBean.java |  173 ++
 .../zookeeper/server/ConnectionMXBean.java      |   98 +
 .../org/apache/zookeeper/server/DataNode.java   |  180 ++
 .../org/apache/zookeeper/server/DataTree.java   | 1237 ++++++++
 .../apache/zookeeper/server/DataTreeBean.java   |   61 +
 .../apache/zookeeper/server/DataTreeMXBean.java |   47 +
 .../zookeeper/server/DatadirCleanupManager.java |  192 ++
 .../org/apache/zookeeper/server/ExitCode.java   |   27 +
 .../zookeeper/server/FinalRequestProcessor.java |  406 +++
 .../apache/zookeeper/server/LogFormatter.java   |  108 +
 .../apache/zookeeper/server/NIOServerCnxn.java  | 1218 ++++++++
 .../zookeeper/server/NIOServerCnxnFactory.java  |  327 +++
 .../zookeeper/server/NettyServerCnxn.java       |  897 ++++++
 .../server/NettyServerCnxnFactory.java          |  426 +++
 .../apache/zookeeper/server/ObserverBean.java   |   49 +
 .../zookeeper/server/PrepRequestProcessor.java  |  774 +++++
 .../apache/zookeeper/server/PurgeTxnLog.java    |  236 ++
 .../server/ReferenceCountedACLCache.java        |  226 ++
 .../org/apache/zookeeper/server/Request.java    |  254 ++
 .../zookeeper/server/RequestProcessor.java      |   44 +
 .../org/apache/zookeeper/server/ServerCnxn.java |  548 ++++
 .../zookeeper/server/ServerCnxnFactory.java     |  226 ++
 .../apache/zookeeper/server/ServerConfig.java   |  112 +
 .../apache/zookeeper/server/ServerStats.java    |  158 +
 .../apache/zookeeper/server/SessionTracker.java |   81 +
 .../zookeeper/server/SessionTrackerImpl.java    |  280 ++
 .../zookeeper/server/SnapshotFormatter.java     |  128 +
 .../java/org/apache/zookeeper/server/Stats.java |   68 +
 .../zookeeper/server/SyncRequestProcessor.java  |  234 ++
 .../apache/zookeeper/server/TraceFormatter.java |  123 +
 .../server/UnimplementedRequestProcessor.java   |   48 +
 .../apache/zookeeper/server/WatchManager.java   |  171 ++
 .../org/apache/zookeeper/server/ZKDatabase.java |  499 ++++
 .../server/ZooKeeperCriticalThread.java         |   52 +
 .../zookeeper/server/ZooKeeperSaslServer.java   |   65 +
 .../zookeeper/server/ZooKeeperServer.java       | 1104 +++++++
 .../zookeeper/server/ZooKeeperServerBean.java   |  162 ++
 .../server/ZooKeeperServerListener.java         |   35 +
 .../server/ZooKeeperServerListenerImpl.java     |   45 +
 .../zookeeper/server/ZooKeeperServerMXBean.java |  126 +
 .../zookeeper/server/ZooKeeperServerMain.java   |  155 +
 .../server/ZooKeeperServerShutdownHandler.java  |   46 +
 .../zookeeper/server/ZooKeeperThread.java       |   62 +
 .../org/apache/zookeeper/server/ZooTrace.java   |   91 +
 .../server/auth/AuthenticationProvider.java     |   82 +
 .../auth/DigestAuthenticationProvider.java      |  139 +
 .../server/auth/DigestLoginModule.java          |   61 +
 .../server/auth/IPAuthenticationProvider.java   |  117 +
 .../zookeeper/server/auth/KerberosName.java     |  418 +++
 .../zookeeper/server/auth/ProviderRegistry.java |   77 +
 .../server/auth/SASLAuthenticationProvider.java |   70 +
 .../server/auth/SaslServerCallbackHandler.java  |  154 +
 .../org/apache/zookeeper/server/package.html    |  101 +
 .../server/persistence/FilePadding.java         |  112 +
 .../zookeeper/server/persistence/FileSnap.java  |  255 ++
 .../server/persistence/FileTxnLog.java          |  694 +++++
 .../server/persistence/FileTxnSnapLog.java      |  428 +++
 .../zookeeper/server/persistence/SnapShot.java  |   66 +
 .../zookeeper/server/persistence/TxnLog.java    |  128 +
 .../server/persistence/TxnLogToolkit.java       |  273 ++
 .../persistence/TxnLogToolkitCliParser.java     |  101 +
 .../zookeeper/server/persistence/Util.java      |  321 +++
 .../server/quorum/AckRequestProcessor.java      |   54 +
 .../server/quorum/AuthFastLeaderElection.java   |  980 +++++++
 .../server/quorum/CommitProcessor.java          |  195 ++
 .../zookeeper/server/quorum/Election.java       |   27 +
 .../server/quorum/FastLeaderElection.java       | 1015 +++++++
 .../zookeeper/server/quorum/Follower.java       |  172 ++
 .../zookeeper/server/quorum/FollowerBean.java   |   55 +
 .../zookeeper/server/quorum/FollowerMXBean.java |   46 +
 .../server/quorum/FollowerRequestProcessor.java |  114 +
 .../server/quorum/FollowerZooKeeperServer.java  |  165 ++
 .../apache/zookeeper/server/quorum/Leader.java  | 1083 +++++++
 .../zookeeper/server/quorum/LeaderBean.java     |   77 +
 .../zookeeper/server/quorum/LeaderElection.java |  295 ++
 .../server/quorum/LeaderElectionBean.java       |   42 +
 .../server/quorum/LeaderElectionMXBean.java     |   31 +
 .../zookeeper/server/quorum/LeaderMXBean.java   |   61 +
 .../server/quorum/LeaderZooKeeperServer.java    |  182 ++
 .../apache/zookeeper/server/quorum/Learner.java |  570 ++++
 .../zookeeper/server/quorum/LearnerHandler.java |  715 +++++
 .../server/quorum/LearnerSessionTracker.java    |   98 +
 .../server/quorum/LearnerSyncRequest.java       |   34 +
 .../server/quorum/LearnerZooKeeperServer.java   |  146 +
 .../zookeeper/server/quorum/LocalPeerBean.java  |   79 +
 .../server/quorum/LocalPeerMXBean.java          |   77 +
 .../zookeeper/server/quorum/Observer.java       |  141 +
 .../zookeeper/server/quorum/ObserverMXBean.java |   37 +
 .../server/quorum/ObserverRequestProcessor.java |  128 +
 .../server/quorum/ObserverZooKeeperServer.java  |  152 +
 .../server/quorum/ProposalRequestProcessor.java |   93 +
 .../zookeeper/server/quorum/ProposalStats.java  |   71 +
 .../zookeeper/server/quorum/QuorumBean.java     |   44 +
 .../server/quorum/QuorumCnxManager.java         | 1152 ++++++++
 .../zookeeper/server/quorum/QuorumMXBean.java   |   34 +
 .../zookeeper/server/quorum/QuorumPeer.java     | 1544 ++++++++++
 .../server/quorum/QuorumPeerConfig.java         |  483 ++++
 .../zookeeper/server/quorum/QuorumPeerMain.java |  182 ++
 .../zookeeper/server/quorum/QuorumStats.java    |   68 +
 .../server/quorum/QuorumZooKeeperServer.java    |   65 +
 .../zookeeper/server/quorum/ReadOnlyBean.java   |   38 +
 .../server/quorum/ReadOnlyRequestProcessor.java |  129 +
 .../server/quorum/ReadOnlyZooKeeperServer.java  |  155 +
 .../zookeeper/server/quorum/RemotePeerBean.java |   45 +
 .../server/quorum/RemotePeerMXBean.java         |   33 +
 .../server/quorum/SendAckRequestProcessor.java  |   80 +
 .../zookeeper/server/quorum/ServerBean.java     |   38 +
 .../zookeeper/server/quorum/ServerMXBean.java   |   33 +
 .../zookeeper/server/quorum/StateSummary.java   |   57 +
 .../apache/zookeeper/server/quorum/Vote.java    |  169 ++
 .../quorum/auth/NullQuorumAuthLearner.java      |   33 +
 .../quorum/auth/NullQuorumAuthServer.java       |   34 +
 .../server/quorum/auth/QuorumAuth.java          |   96 +
 .../server/quorum/auth/QuorumAuthLearner.java   |   40 +
 .../server/quorum/auth/QuorumAuthServer.java    |   41 +
 .../quorum/auth/SaslQuorumAuthLearner.java      |  225 ++
 .../quorum/auth/SaslQuorumAuthServer.java       |  180 ++
 .../auth/SaslQuorumServerCallbackHandler.java   |  148 +
 .../quorum/flexible/QuorumHierarchical.java     |  275 ++
 .../server/quorum/flexible/QuorumMaj.java       |   63 +
 .../server/quorum/flexible/QuorumVerifier.java  |   33 +
 .../zookeeper/server/upgrade/DataNodeV1.java    |  129 +
 .../zookeeper/server/upgrade/DataTreeV1.java    |  567 ++++
 .../zookeeper/server/upgrade/UpgradeMain.java   |  185 ++
 .../server/upgrade/UpgradeSnapShot.java         |   33 +
 .../server/upgrade/UpgradeSnapShotV1.java       |  332 +++
 .../zookeeper/server/util/KerberosUtil.java     |   44 +
 .../apache/zookeeper/server/util/OSMXBean.java  |  181 ++
 .../apache/zookeeper/server/util/Profiler.java  |   41 +
 .../zookeeper/server/util/SerializeUtils.java   |  159 +
 .../apache/zookeeper/server/util/ZxidUtils.java |   34 +
 zookeeper-server/src/main/resources/LICENSE.txt |  216 ++
 zookeeper-server/src/main/resources/NOTICE.txt  |  100 +
 .../src/main/resources/jline-0.9.94.LICENSE.txt |   33 +
 .../src/main/resources/lastRevision.bat         |   22 +
 .../src/main/resources/lastRevision.sh          |   21 +
 .../src/main/resources/overview.html            |   26 +
 .../src/main/resources/pom.template             |   41 +
 .../org/apache/zookeeper/server/CRCTest.java    |  190 ++
 .../apache/zookeeper/server/DataNodeTest.java   |   65 +
 .../apache/zookeeper/server/DataTreeTest.java   |  235 ++
 .../zookeeper/server/DataTreeUnitTest.java      |   60 +
 .../server/DatadirCleanupManagerTest.java       |   91 +
 .../server/DeserializationPerfTest.java         |  119 +
 .../zookeeper/server/InvalidSnapCountTest.java  |  126 +
 .../zookeeper/server/InvalidSnapshotTest.java   |   84 +
 .../zookeeper/server/MockNIOServerCnxn.java     |   45 +
 .../zookeeper/server/NIOServerCnxnTest.java     |  106 +
 .../zookeeper/server/NettyServerCnxnTest.java   |  103 +
 .../server/PrepRequestProcessorTest.java        |  262 ++
 .../apache/zookeeper/server/PurgeTxnTest.java   |  604 ++++
 .../server/ReferenceCountedACLCacheTest.java    |  287 ++
 .../zookeeper/server/SerializationPerfTest.java |  125 +
 .../server/ServerCnxnFactoryAccessor.java       |   24 +
 .../zookeeper/server/ServerStatsTest.java       |  145 +
 .../zookeeper/server/SessionTrackerTest.java    |  156 +
 .../apache/zookeeper/server/ToStringTest.java   |   38 +
 .../server/ZooKeeperServerMainTest.java         |  615 ++++
 .../server/ZooKeeperServerStartupTest.java      |  302 ++
 .../zookeeper/server/ZooKeeperServerTest.java   |  137 +
 .../zookeeper/server/ZooKeeperThreadTest.java   |   84 +
 .../zookeeper/server/ZxidRolloverTest.java      |  444 +++
 .../server/persistence/FileTxnLogTest.java      |  139 +
 .../server/persistence/FileTxnSnapLogTest.java  |  148 +
 .../persistence/TxnLogToolkitCliParserTest.java |  110 +
 .../server/persistence/TxnLogToolkitTest.java   |  155 +
 .../zookeeper/server/quorum/CnxManagerTest.java |  463 +++
 .../quorum/EphemeralNodeDeletionTest.java       |  219 ++
 .../quorum/FLEBackwardElectionRoundTest.java    |  159 +
 .../server/quorum/FLECompatibilityTest.java     |  350 +++
 .../server/quorum/FLEDontCareTest.java          |  262 ++
 .../server/quorum/FLELostMessageTest.java       |  113 +
 .../zookeeper/server/quorum/FLETestUtils.java   |   86 +
 .../zookeeper/server/quorum/LeaderBeanTest.java |  151 +
 .../server/quorum/LeaderWithObserverTest.java   |  177 ++
 .../zookeeper/server/quorum/LearnerTest.java    |  135 +
 .../server/quorum/ProposalStatsTest.java        |   58 +
 .../server/quorum/QuorumCnxManagerTest.java     |  967 +++++++
 .../server/quorum/QuorumPeerMainTest.java       | 1386 +++++++++
 .../server/quorum/QuorumPeerTestBase.java       |  225 ++
 .../zookeeper/server/quorum/WatchLeakTest.java  |  306 ++
 .../zookeeper/server/quorum/Zab1_0Test.java     | 1376 +++++++++
 .../zookeeper/server/quorum/ZabUtils.java       |  142 +
 .../auth/ApacheDSKerberosSecurityTestcase.java  |  120 +
 .../server/quorum/auth/ApacheDSMiniKdc.java     |  574 ++++
 .../server/quorum/auth/ApacheDSMiniKdcTest.java |  185 ++
 .../auth/ApacheDSQuorumKerberosAuthTest.java    |  124 +
 ...ApacheDSQuorumKerberosHostBasedAuthTest.java |  200 ++
 .../quorum/auth/KerberosSecurityTestcase.java   |  119 +
 .../server/quorum/auth/KerberosTestUtils.java   |   76 +
 .../zookeeper/server/quorum/auth/MiniKdc.java   |  418 +++
 .../server/quorum/auth/MiniKdcTest.java         |  185 ++
 .../server/quorum/auth/QuorumAuthTestBase.java  |  248 ++
 .../quorum/auth/QuorumAuthUpgradeTest.java      |  239 ++
 .../quorum/auth/QuorumDigestAuthTest.java       |  380 +++
 .../quorum/auth/QuorumKerberosAuthTest.java     |  123 +
 .../auth/QuorumKerberosHostBasedAuthTest.java   |  196 ++
 .../zookeeper/server/util/PortForwarder.java    |  256 ++
 .../server/util/SerializeUtilsTest.java         |  128 +
 808 files changed, 83650 insertions(+), 83573 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zookeeper/blob/c0aa3b3f/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 78c9ed4..3544456 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,8 +66,8 @@ zookeeper-client/zookeeper-client-c/*.lo
 zookeeper-client/zookeeper-client-c/*.o
 zookeeper-client/zookeeper-client-c/generated/
 src/java/generated/
-src/java/lib/ant-eclipse-*
-src/java/lib/ivy-*
+zookeeper-common/src/main/resources/lib/ant-eclipse-*
+zookeeper-common/src/main/resources/lib/ivy-*
 zookeeper-client/zookeeper-client-c/Makefile.in
 zookeeper-client/zookeeper-client-c/aclocal.m4
 zookeeper-client/zookeeper-client-c/autom4te.cache/

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/c0aa3b3f/bin/zkEnv.sh
----------------------------------------------------------------------
diff --git a/bin/zkEnv.sh b/bin/zkEnv.sh
index 43cbc22..4e6fb97 100755
--- a/bin/zkEnv.sh
+++ b/bin/zkEnv.sh
@@ -70,7 +70,7 @@ fi
 #add the zoocfg dir to classpath
 CLASSPATH="$ZOOCFGDIR:$CLASSPATH"
 
-for i in "$ZOOBINDIR"/../src/java/lib/*.jar
+for i in "$ZOOBINDIR"/../zookeeper-common/src/main/resources/lib/*.jar
 do
     CLASSPATH="$i:$CLASSPATH"
 done

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/c0aa3b3f/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index 4b945c8..9cce946 100644
--- a/build.xml
+++ b/build.xml
@@ -78,16 +78,20 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
     <property name="final.name" value="${name}-${version}"/>
     <property name="revision.dir" value="${basedir}/.revision" />
     <property name="revision.properties" value="revision.properties" />
-    <property file="${basedir}/src/java/${revision.properties}" />
+    <property file="${basedir}/.revision/${revision.properties}" />
     
     <property name="javac.target" value="1.6" />
     <property name="javac.source" value="1.6" />
 
     <property name="src.dir" value="${basedir}/src" />
-    <property name="java.src.dir" value="${src.dir}/java/main" />
+    <property name="java.server.src.dir" value="${basedir}/zookeeper-server/src/main/java" />
+    <property name="java.server.resources.dir" value="${basedir}/zookeeper-server/src/main/resources" />
+    <property name="java.common.src.dir" value="${basedir}/zookeeper-common/src/main/java" />
+    <property name="java.common.resources.dir" value="${basedir}/zookeeper-common/src/main/resources" />
+    <property name="java.client.src.dir" value="${basedir}/zookeeper-client/zookeeper-client-java/src/main/java" />
     <property name="jute.src.dir" value="${basedir}/zookeeper-jute/src/main/java" />
 
-    <property name="lib.dir" value="${src.dir}/java/lib" />
+    <property name="lib.dir" value="${java.common.resources.dir}/lib" />
     <property name="lib.dir.includes" value="**/*.jar" />
     <property name="lib.dir.excludes" value="**/excluded/" />
 
@@ -100,7 +104,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
 
     <property name="build.dir" value="${basedir}/build" />
     <property name="distribution" value="${basedir}/distribution" />
-    <property name="src_generated.dir" value="${src.dir}/java/generated" />
+    <property name="src_generated.dir" value="${basedir}/zookeeper-jute/target/main/java" />
     <property name="c.src.dir" value="${basedir}/zookeeper-client/zookeeper-client-c" />
     <property name="csrc_generated.dir" value="${c.src.dir}/generated" />
 
@@ -113,9 +117,11 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
 
     <property name="test.java.build.dir" value="${build.dir}/test"/>
     <property name="test.java.classes" value="${test.java.build.dir}/classes"/>
-    <property name="test.src.dir" value="${src.dir}/java/test"/>
+    <property name="java.server.test.dir" value="${basedir}/zookeeper-server/src/test/java"/>
+    <property name="java.common.test.dir" value="${basedir}/zookeeper-common/src/test/java"/>
+    <property name="common.test.resource.dir" value="${basedir}/zookeeper-common/src/test/resources"/>
     <property name="jute.test.src.dir" value="${basedir}/zookeeper-jute/src/test/java" />
-    <property name="systest.src.dir" value="${src.dir}/java/systest"/>
+    <property name="systest.src.dir" value="${basedir}/zookeeper-it/src/test/java"/>
     <property name="test.log.dir" value="${test.java.build.dir}/logs" />
     <property name="test.data.dir" value="${test.java.build.dir}/data" />
     <property name="test.data.upgrade.dir" value="${test.data.dir}/upgrade" />
@@ -131,7 +137,6 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
     <property name="test.junit.printsummary" value="yes" />
     <property name="test.junit.haltonfailure" value="no" />
     <property name="test.junit.failbuild.ontestfailure" value="true" />
-    <property name="config.dir" value="${src.dir}/java/test/config" />
     <property name="test.junit.maxmem" value="512m" />
     <property name="test.quick" value="no" />
     <property name="conf.dir" value="${basedir}/conf"/>
@@ -141,6 +146,12 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
               value="http://docs.oracle.com/javase/6/docs/api/" />
     <property name="javadoc.packages" value="org.apache.*" />
 
+    <path id="java.src.dir">
+      <pathelement path="${java.server.src.dir}"/>
+      <pathelement path="${java.common.src.dir}"/>
+      <pathelement path="${java.client.src.dir}"/>
+    </path>
+
     <property name="dist.dir" value="${build.dir}/${final.name}"/>
     <property name="dist.maven.dir" value="${dist.dir}/dist-maven"/>
 
@@ -190,8 +201,8 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
     <property name="grep.cmd" value="grep"/>
     <property name="patch.cmd" value="patch"/>
     <property name="make.cmd" value="make"/>
-    <property name="test_patch_sh" value="${test.src.dir}/bin/test-patch.sh"/>
-    <property name="test_pullrequest_sh" value="${test.src.dir}/bin/test-github-pr.sh"/>
+    <property name="test_patch_sh" value="${common.test.resource.dir}/test-patch.sh"/>
+    <property name="test_pullrequest_sh" value="${common.test.resource.dir}/test-github-pr.sh"/>
 
 	<!-- jdiff.home property set -->
     <property name="jdiff.home" value="${ivy.jdiff.lib}"/>
@@ -331,7 +342,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
         <java classname="org.apache.jute.compiler.generated.Rcc" fork="true" dir="${src_generated.dir}">
             <arg value="-l" />
             <arg value="java" />
-            <arg value="../../../zookeeper-jute/src/main/resources/zookeeper.jute" />
+            <arg value="../../../src/main/resources/zookeeper.jute" />
             <classpath>
                 <pathelement path="${build.classes}" />
             </classpath>
@@ -350,9 +361,12 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
     </target>
 
     <target name="ver-gen" depends="init">
-        <javac srcdir="${java.src.dir}" destdir="${build.classes}" includeantruntime="false"
+        <javac destdir="${build.classes}" includeantruntime="false"
             target="${javac.target}" source="${javac.source}"
-            includes="org/apache/zookeeper/version/util/**" debug="on" />
+            includes="org/apache/zookeeper/version/util/**" debug="on">
+            <src path="${java.server.src.dir}" />
+            <src path="${java.common.src.dir}" />
+        </javac>
     </target>
     
     <target name="git-revision" unless="lastRevision">
@@ -361,7 +375,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
       	    <os family="windows"/>
         </condition>
         <condition property="revision.cmd.line" 
-        	value="/c ${src.dir}\lastRevision.bat" else="${src.dir}/lastRevision.sh">
+        	value="/c ${java.server.resources.dir}\lastRevision.bat" else="${java.server.resources.dir}/lastRevision.sh">
       	    <os family="windows"/>
         </condition>
         <exec executable="${shell.name}">
@@ -459,7 +473,9 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
     <target name="compile" depends="ivy-retrieve,clover,build-generated">
         <javac destdir="${build.classes}" includeantruntime="false"
                target="${javac.target}" source="${javac.source}" debug="on">
-            <src path="${java.src.dir}"/>
+            <src path="${java.server.src.dir}"/>
+            <src path="${java.common.src.dir}"/>
+            <src path="${java.client.src.dir}"/>
             <src path="${jute.src.dir}"/>
             <classpath refid="java.classpath"/>
             <compilerarg value="-Xlint:all"/>
@@ -471,7 +487,8 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
       <mkdir dir="${test.java.classes}"/>
       <javac destdir="${test.java.classes}" includeantruntime="false"
              target="${javac.target}" source="${javac.source}" debug="on">
-        <src path="${test.src.dir}"/>
+          <src path="${java.server.test.dir}"/>
+          <src path="${java.common.test.dir}"/>
         <src path="${jute.test.src.dir}"/>
         <classpath refid="test.java.classpath"/>
       </javac>
@@ -534,7 +551,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
             description="Generate javadoc for zookeeper developers">
       <mkdir dir="${build.javadoc.dev}"/>
       <javadoc
-         overview="${java.src.dir}/overview.html"
+         overview="${java.server.resources.dir}/overview.html"
          packagenames="org.apache.zookeeper.*"
          destdir="${build.javadoc.dev}"
          author="true"
@@ -544,10 +561,16 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
          doctitle="${Name} ${version} API"
          bottom="Copyright &amp;copy; ${year} The Apache Software Foundation"
          >
-    	<packageset dir="${java.src.dir}">
+    	<packageset dir="${java.server.src.dir}">
           <include name="org/apache/**"/>
           <exclude name="org/apache/jute/**"/>
     	</packageset>
+        <packageset dir="${java.common.src.dir}">
+          <include name="org/apache/**"/>
+        </packageset>
+        <packageset dir="${java.client.src.dir}">
+          <include name="org/apache/**"/>
+        </packageset>
     	<packageset dir="${src_generated.dir}"/>
         <link href="${javadoc.link.java}"/>
         <classpath refid="java.classpath"/>
@@ -557,7 +580,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
     <target name="javadoc" depends="jar" description="Generate javadoc">
       <mkdir dir="${build.javadoc}"/>
       <javadoc
-         overview="${java.src.dir}/overview.html"
+         overview="${java.server.resources.dir}/overview.html"
          packagenames="org.apache.zookeeper.*"
          destdir="${build.javadoc}"
          author="true"
@@ -571,7 +594,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
          docletpath="${ivy.lib}/audience-annotations-${audience-annotations.version}.jar"
          >
 
-        <fileset dir="${java.src.dir}">
+        <fileset dir="${java.server.src.dir}">
           <include name="org/apache/zookeeper/server/quorum/QuorumPeerMain.java"/>
           <include name="org/apache/zookeeper/server/ZooKeeperServerMain.java"/>
           <include name="org/apache/zookeeper/server/LogFormatter.java"/>
@@ -579,10 +602,18 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
           <include name="org/apache/zookeeper/server/SnapshotFormatter.java"/>
           <include name="org/apache/zookeeper/server/upgrade/UpgradeMain.java"/>
         </fileset>
-    	<packageset dir="${java.src.dir}">
+    	<packageset dir="${java.server.src.dir}">
           <include name="org/apache/**"/>
           <exclude name="org/apache/zookeeper/server/**"/>
     	</packageset>
+        <packageset dir="${java.common.src.dir}">
+          <include name="org/apache/**"/>
+          <exclude name="org/apache/zookeeper/server/**"/>
+        </packageset>
+        <packageset dir="${java.client.src.dir}">
+          <include name="org/apache/**"/>
+          <exclude name="org/apache/zookeeper/server/**"/>
+        </packageset>
         <packageset dir="${jute.src.dir}">
           <include name="org/apache/**"/>
         </packageset>
@@ -619,7 +650,9 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
         <jar jarfile="${build.dir}/${final.name}.jar">
             <fileset file="LICENSE.txt" />
             <fileset dir="${build.classes}" excludes="**/.generated"/>
-            <fileset dir="${java.src.dir}"/>
+            <fileset dir="${java.server.src.dir}"/>
+            <fileset dir="${java.common.src.dir}"/>
+            <fileset dir="${java.client.src.dir}"/>
             <fileset dir="${jute.src.dir}"/>
             <fileset dir="${src_generated.dir}" excludes="**/.generated"/>
             <manifest>
@@ -694,7 +727,9 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
     <target name="src-jar" depends="build-generated">
         <jar jarfile="${build.dir}/${final.name}-sources.jar">
             <fileset file="LICENSE.txt" />
-            <fileset dir="${java.src.dir}"/>
+            <fileset dir="${java.server.src.dir}"/>
+            <fileset dir="${java.common.src.dir}"/>
+            <fileset dir="${java.client.src.dir}"/>
             <fileset dir="${jute.src.dir}"/>
             <fileset dir="${src_generated.dir}" excludes="**/.generated"/>
             <manifest>
@@ -803,7 +838,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
 
       <ivy:makepom settingsRef="${ant.project.name}" ivyfile="${basedir}/ivy.xml"
                    pomfile="${dist.maven.dir}/${final.name}.pom"
-                   templatefile="${basedir}/src/pom.template">
+                   templatefile="${java.server.resources.dir}/pom.template" >
         <mapping conf="default" scope="compile"/>
         <mapping conf="test" scope="test"/>
       </ivy:makepom>
@@ -835,20 +870,21 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
         <fileset file="build.xml"/>
         <fileset file="ivy.xml"/>
         <fileset file="ivysettings.xml"/>
-        <fileset file="src/NOTICE.txt"/>
-        <fileset file="src/LICENSE.txt"/>
+        <fileset file="${java.server.resources.dir}/NOTICE.txt"/>
+        <fileset file="${java.server.resources.dir}/LICENSE.txt"/>
       </copy>
 
       <copy todir="${dist.dir}/src" includeEmptyDirs="true">
-        <fileset dir="src" excludes="**/*.template **/docs/build/**/* **/ivy*.jar"/>
         <fileset dir="${basedir}" excludes="**/*.template **/docs/build/**/* **/ivy*.jar">
           <include name="zookeeper-recipes/**"/>
           <include name="zookeeper-docs/**"/>
           <include name="zookeeper-contrib/**"/>
           <include name="zookeeper-client/**"/>
           <include name="zookeeper-jute/**"/>
+          <include name="zookeeper-common/**"/>
+          <include name="zookeeper-server/**"/>
         </fileset>
-        <fileset file="src/pom.template"/>
+        <fileset file="${java.server.resources.dir}/pom.template"/>
       </copy>
   	  
       <chmod perm="ugo+x" type="file" parallel="false">
@@ -919,7 +955,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
 
       <ivy:makepom settingsRef="${ant.project.name}" ivyfile="${basedir}/ivy.xml"
                    pomfile="${dist.maven.dir}/${name}.pom"
-                   templatefile="${basedir}/src/pom.template">
+                   templatefile="${java.server.resources.dir}/pom.template">
         <mapping conf="default" scope="compile"/>
         <mapping conf="test" scope="test"/>
       </ivy:makepom>
@@ -961,13 +997,13 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
         <fileset file="build.xml"/>
         <fileset file="ivy.xml"/>
         <fileset file="ivysettings.xml"/>
-        <fileset file="src/NOTICE.txt"/>
-        <fileset file="src/LICENSE.txt"/>
+        <fileset file="${java.server.resources.dir}/NOTICE.txt"/>
+        <fileset file="${java.server.resources.dir}/LICENSE.txt"/>
       </copy>
 
       <copy todir="${dist.dir}/src" includeEmptyDirs="true">
         <fileset dir="src" excludes="**/*.template **/docs/build/**/* **/ivy*.jar"/>
-        <fileset file="src/pom.template"/>
+        <fileset file="${java.server.resources.dir}/pom.template"/>
       </copy>
 
       <copy todir="${dist.dir}/${package.share.dir}/templates/conf">
@@ -1338,18 +1374,18 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
         <mkdir dir="${test.data.upgrade.dir}" />
         <mkdir dir="${test.data.invalid.dir}" />
         <copy todir="${test.data.upgrade.dir}">
-            <fileset dir="${basedir}/src/java/test/data/upgrade"/>
+            <fileset dir="${common.test.resource.dir}/data/upgrade"/>
         </copy>
         <copy todir="${test.data.invalid.dir}">
-            <fileset dir="${basedir}/src/java/test/data/invalidsnap"/>
+            <fileset dir="${common.test.resource.dir}/data/invalidsnap"/>
         </copy>
         <mkdir dir="${test.data.buffersize.dir}" />
         <copy todir="${test.data.buffersize.dir}">
-            <fileset dir="${basedir}/src/java/test/data/buffersize"/>
+            <fileset dir="${common.test.resource.dir}/data/buffersize"/>
         </copy>
         <mkdir dir="${test.data.kerberos.dir}" />
         <copy todir="${test.data.kerberos.dir}">
-            <fileset dir="${basedir}/src/java/test/data/kerberos"/>
+            <fileset dir="${common.test.resource.dir}/data/kerberos"/>
         </copy>
     </target>
 
@@ -1395,7 +1431,11 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
           </classpath>
           <formatter type="${test.junit.output.format}" />
           <batchtest todir="${test.log.dir}" if="quicktest">
-            <fileset dir="${test.src.dir}">
+            <fileset dir="${java.server.test.dir}">
+              <include name="**/*${test.category}Test.java"/>
+              <exclude name="**/*HammerTest.java"/>
+            </fileset>
+            <fileset dir="${java.common.test.dir}">
               <include name="**/*${test.category}Test.java"/>
               <exclude name="**/*HammerTest.java"/>
             </fileset>
@@ -1404,7 +1444,10 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
             </fileset>
           </batchtest>
           <batchtest todir="${test.log.dir}" if="fulltest">
-            <fileset dir="${test.src.dir}">
+            <fileset dir="${java.server.test.dir}">
+              <include name="**/*${test.category}Test.java"/>
+            </fileset>
+            <fileset dir="${java.common.test.dir}">
               <include name="**/*${test.category}Test.java"/>
             </fileset>
             <fileset dir="${jute.test.src.dir}">
@@ -1412,7 +1455,8 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
             </fileset>
           </batchtest>
           <batchtest todir="${test.log.dir}" if="testcase">
-            <fileset dir="${test.src.dir}" includes="**/${testcase}.java"/>
+            <fileset dir="${java.server.test.dir}" includes="**/${testcase}.java"/>
+            <fileset dir="${java.common.test.dir}" includes="**/${testcase}.java"/>
             <fileset dir="${jute.test.src.dir}" includes="**/${testcase}.java"/>
           </batchtest>
         </junit>
@@ -1579,11 +1623,24 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
       <taskdef resource="cloverlib.xml" classpath="${clover.jar}"/>
       <mkdir dir="${clover.db.dir}"/>
       <clover-setup initString="${clover.db}">
-        <fileset dir="${java.src.dir}"
+        <fileset dir="${java.server.src.dir}"
                  includes="org/apache/zookeeper/**/*"
                  excludes="org/apache/zookeeper/version/**/*">
         </fileset>
-        <testsources dir="${test.src.dir}">
+        <fileset dir="${java.common.src.dir}"
+               includes="org/apache/zookeeper/**/*"
+               excludes="org/apache/zookeeper/version/**/*">
+        </fileset>
+        <fileset dir="${java.client.src.dir}"
+               includes="org/apache/zookeeper/**/*"
+               excludes="org/apache/zookeeper/version/**/*">
+        </fileset>
+        <testsources dir="${java.server.test.dir}">
+          <testclass package="org.apache.zookeeper.*" name=".*Test">
+              <testmethod annotation="Test"/>
+          </testclass>
+        </testsources>
+        <testsources dir="${java.common.test.dir}">
           <testclass package="org.apache.zookeeper.*" name=".*Test">
               <testmethod annotation="Test"/>
           </testclass>
@@ -1634,7 +1691,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
     <property name="findbugs.home" value="" />
     <target name="findbugs" depends="check-for-findbugs, jar" if="findbugs.present">
         <property name="findbugs.out.dir" value="${test.java.build.dir}/findbugs" />
-        <property name="findbugs.exclude.file" value="${config.dir}/findbugsExcludeFile.xml" />
+        <property name="findbugs.exclude.file" value="${common.test.resource.dir}/findbugsExcludeFile.xml" />
         <property name="findbugs.report.htmlfile" value="${findbugs.out.dir}/zookeeper-findbugs-report.html" />
         <property name="findbugs.report.xmlfile" value="${findbugs.out.dir}/zookeeper-findbugs-report.xml" />
         <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" 
@@ -1647,7 +1704,9 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
                     <include name="**/*.jar" />
                 </fileset>
             </auxClasspath>
-            <sourcePath path="${java.src.dir}" />
+            <sourcePath path="${java.server.src.dir}" />
+            <sourcePath path="${java.common.src.dir}" />
+            <sourcePath path="${java.client.src.dir}" />
             <class location="${build.dir}/${final.name}.jar" />
         </findbugs>
         <xslt style="${findbugs.home}/src/xsl/default.xsl" in="${findbugs.report.xmlfile}" 
@@ -1713,11 +1772,14 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
 
             <formatter type="${test.junit.output.format}" />
             <batchtest todir="${test.log.dir}" unless="testcase">
-                <fileset dir="${test.src.dir}"
+                <fileset dir="${java.common.test.dir}"
+                         includes="**/*Test.java"/>
+                <fileset dir="${java.server.test.dir}"
                          includes="**/*Test.java"/>
             </batchtest>
             <batchtest todir="${test.log.dir}" if="testcase">
-                <fileset dir="${test.src.dir}" includes="**/${testcase}.java"/>
+                <fileset dir="${java.common.test.dir}" includes="**/${testcase}.java"/>
+                <fileset dir="${java.server.test.dir}" includes="**/${testcase}.java"/>
             </batchtest>
         </junit>
         <antcall target="fail.build.on.test.failure"/>
@@ -1725,8 +1787,8 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
 
     <target name="cobertura-report" depends="cobertura-test">
         <cobertura-report format="${test.cobertura.output.format}"
-                          destdir="${coveragereport.dir}" > 
-            <fileset dir="${java.src.dir}">
+                          destdir="${coveragereport.dir}" >
+            <fileset dir="${java.server.src.dir}">
                 <include name="**/*.java" />
             </fileset>
             <fileset dir="${jute.src.dir}">
@@ -1745,11 +1807,13 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
         </classpath>
       </taskdef>
       <mkdir dir="${test.java.build.dir}"/>
-      <cs:checkstyle config="${test.src.dir}/checkstyle.xml" failOnViolation="false">
-        <fileset dir="${src.dir}/java" includes="**/*.java" excludes="**/generated/**"/>
+      <cs:checkstyle config="${common.test.resource.dir}/checkstyle.xml" failOnViolation="false">
+        <fileset dir="${basedir}/zookeeper-common" includes="**/*.java" excludes="**/generated/**"/>
+        <fileset dir="${basedir}/zookeeper-client" includes="**/*.java" excludes="**/generated/**"/>
+        <fileset dir="${basedir}/zookeeper-server" includes="**/*.java" excludes="**/generated/**"/>
         <formatter type="xml" toFile="${test.java.build.dir}/checkstyle-errors.xml"/>
       </cs:checkstyle>
-      <xslt style="${test.src.dir}/checkstyle-noframes-sorted.xsl" in="${test.java.build.dir}/checkstyle-errors.xml"
+      <xslt style="${common.test.resource.dir}/checkstyle-noframes-sorted.xsl" in="${test.java.build.dir}/checkstyle-errors.xml"
             out="${test.java.build.dir}/checkstyle-errors.html"/>
     </target>
 
@@ -1809,7 +1873,6 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
           <exclude name="README_packaging.txt"/>
           <exclude name="**/VERSION"/>
           <exclude name="**/ChangeLog"/>
-          <exclude name="**/OldChangeLog"/>
           <exclude name="**/Changes"/>
           <exclude name="**/contrib/zkperl/MANIFEST"/>
           <exclude name="**/zookeeper-contrib/zookeeper-contrib-zkperl/MANIFEST"/>
@@ -1838,10 +1901,10 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
           <exclude name="src/zookeeper-client/zookeeper-client-c/autom4te.cache/**"/>
           <exclude name="src/zookeeper-client/zookeeper-client-c/config**"/>
           <exclude name="src/zookeeper-client/zookeeper-client-c/src/hashtable/"/>
-          <exclude name="src/java/generated/.generated/"/>
-          <exclude name="src/java/test/checkstyle*.xml"/>
-          <exclude name="src/java/test/checkstyle*.xsl"/>
-          <exclude name="src/java/test/config/findbugs*.xml"/>
+          <exclude name="src/zookeeper-jute/target/main/java/.generated/"/>
+          <exclude name="src/zookeeper-common/src/test/resources/checkstyle*.xml"/>
+          <exclude name="src/zookeeper-common/src/test/resources/checkstyle*.xsl"/>
+          <exclude name="src/zookeeper-common/src/test/resources/findbugs*.xml"/>
           <exclude name="src/**/*.vcproj"/>
           <exclude name="src/**/*.sln"/>
         </fileset>
@@ -1926,10 +1989,16 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
            <param name="-apidir" value="${jdiff.xml.dir}"/>
            <param name="-apiname" value="${name} ${version}"/>
          </doclet>
-         <packageset dir="${java.src.dir}">
+         <packageset dir="${java.server.src.dir}">
            <include name="org/apache/zookeeper"/>
            <exclude name="org/apache/jute"/>
          </packageset>
+         <packageset dir="${java.common.src.dir}">
+           <include name="org/apache/zookeeper"/>
+         </packageset>
+         <packageset dir="${java.client.src.dir}">
+           <include name="org/apache/zookeeper"/>
+         </packageset>
          <classpath>
            <pathelement location="${build.classes}"/>
            <fileset dir="${lib.dir}">
@@ -1951,10 +2020,12 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
 
      <target name="api-report" depends="api-xml">
        <mkdir dir="${jdiff.build.dir}"/>
-       <javadoc sourcepath="${java.src.dir}"
-                destdir="${jdiff.build.dir}"
+       <javadoc destdir="${jdiff.build.dir}"
                 excludepackagenames="org.apache.jute"	
                 sourceFiles="${jdiff.home}/Null.java">
+         <fileset dir="${java.server.src.dir}"/>
+         <fileset dir="${java.common.src.dir}"/>
+         <fileset dir="${java.client.src.dir}"/>
          <doclet name="jdiff.JDiff"
                  path="${ivy.jdiff.lib}/jdiff-1.0.9.jar:${ivy.jdiff.lib}/xerces-1.4.4.jar">
            <param name="-oldapi" value="${name} ${jdiff.stable}"/>
@@ -1984,19 +2055,19 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
 
      <target name="ant-eclipse-download" unless="ant-eclipse.jar.exists">
        <get src="https://downloads.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2"
-            dest="${src.dir}/java/ant-eclipse-1.0.bin.tar.bz2" usetimestamp="false" />
+            dest="${java.common.resources.dir}/ant-eclipse-1.0.bin.tar.bz2" usetimestamp="false" />
 
-       <bunzip2 src="${src.dir}/java/ant-eclipse-1.0.bin.tar.bz2"/>
+       <bunzip2 src="${java.common.resources.dir}/ant-eclipse-1.0.bin.tar.bz2"/>
 
-       <untar src="${src.dir}/java/ant-eclipse-1.0.bin.tar"
-              dest="${src.dir}/java">
+       <untar src="${java.common.resources.dir}/ant-eclipse-1.0.bin.tar"
+              dest="${java.common.resources.dir}">
          <patternset>
            <include name="lib/ant-eclipse-1.0-jvm1.2.jar"/>
          </patternset>
        </untar>
 
-       <delete file="${src.dir}/java/ant-eclipse-1.0.bin.tar" />
-       <delete file="${src.dir}/java/ant-eclipse-1.0.bin.tar.bz2" />
+       <delete file="${java.common.resources.dir}/ant-eclipse-1.0.bin.tar" />
+       <delete file="${java.common.resources.dir}/ant-eclipse-1.0.bin.tar.bz2" />
      </target>
 
      <target name="eclipse"
@@ -2015,13 +2086,19 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
          </settings>
          <project name="${ant.project.name}" />
          <classpath>
-           <source path="${java.src.dir}"
+           <source path="${java.server.src.dir}"
+                   output="${build.dir.eclipse-main-classes}" />
+           <source path="${java.common.src.dir}"
+                   output="${build.dir.eclipse-main-classes}" />
+           <source path="${java.client.src.dir}"
                    output="${build.dir.eclipse-main-classes}" />
            <source path="${jute.src.dir}"
                    output="${build.dir.eclipse-main-classes}" />
            <source path="${src_generated.dir}"
                    output="${build.dir.eclipse-main-classes}" />
-           <source path="${test.src.dir}"
+           <source path="${java.common.test.dir}"
+                   output="${build.dir.eclipse-test-classes}" />
+           <source path="${java.server.test.dir}"
                    output="${build.dir.eclipse-test-classes}" />
            <source path="${systest.src.dir}"
                    output="${build.dir.eclipse-test-classes}" />