实例介绍
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeeper包含一个简单的原语集, [1] 提供Java和C的接口。 ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。
【实例截图】
【核心代码】
4744302543334991726.zip
└── zookeeper
├── bin
│ ├── README.txt
│ ├── zkCleanup.sh
│ ├── zkCli.cmd
│ ├── zkCli.sh
│ ├── zkEnv.cmd
│ ├── zkEnv.sh
│ ├── zkServer.cmd
│ └── zkServer.sh
├── build.xml
├── conf
│ ├── configuration.xsl
│ ├── log4j.properties
│ ├── zoo.cfg
│ ├── zoo_sample.cfg
│ └── zoo集群部署配置.cfg
├── contrib
│ ├── fatjar
│ │ ├── build.xml
│ │ ├── conf
│ │ │ └── mainClasses
│ │ ├── src
│ │ │ └── java
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── util
│ │ │ └── FatJarMain.java
│ │ └── zookeeper-3.4.12-fatjar.jar
│ ├── loggraph
│ │ ├── build.xml
│ │ ├── src
│ │ │ └── java
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── graph
│ │ │ ├── FilterException.java
│ │ │ ├── FilterOp.java
│ │ │ ├── filterops
│ │ │ │ ├── AndOp.java
│ │ │ │ ├── Arg.java
│ │ │ │ ├── EqualsOp.java
│ │ │ │ ├── GreaterThanOp.java
│ │ │ │ ├── LessThanOp.java
│ │ │ │ ├── NotOp.java
│ │ │ │ ├── NumberArg.java
│ │ │ │ ├── OrOp.java
│ │ │ │ ├── StringArg.java
│ │ │ │ ├── SymbolArg.java
│ │ │ │ └── XorOp.java
│ │ │ ├── FilterParser.java
│ │ │ ├── JsonGenerator.java
│ │ │ ├── Log4JEntry.java
│ │ │ ├── Log4JSource.java
│ │ │ ├── LogEntry.java
│ │ │ ├── LogIterator.java
│ │ │ ├── LogServer.java
│ │ │ ├── LogSkipList.java
│ │ │ ├── LogSource.java
│ │ │ ├── MeasureThroughput.java
│ │ │ ├── MergedLogSource.java
│ │ │ ├── RandomAccessFileReader.java
│ │ │ ├── servlets
│ │ │ │ ├── FileLoader.java
│ │ │ │ ├── Fs.java
│ │ │ │ ├── GraphData.java
│ │ │ │ ├── JsonServlet.java
│ │ │ │ ├── NumEvents.java
│ │ │ │ ├── StaticContent.java
│ │ │ │ └── Throughput.java
│ │ │ ├── TransactionEntry.java
│ │ │ └── TxnLogSource.java
│ │ └── zookeeper-3.4.12-loggraph.jar
│ ├── rest
│ │ ├── conf
│ │ │ ├── keys
│ │ │ │ ├── README
│ │ │ │ ├── rest.cer
│ │ │ │ └── rest.jks
│ │ │ ├── log4j.properties
│ │ │ └── rest.properties
│ │ ├── lib
│ │ │ ├── activation-1.1.jar
│ │ │ ├── asm-3.1.jar
│ │ │ ├── grizzly-framework-1.9.8.jar
│ │ │ ├── grizzly-http-1.9.8.jar
│ │ │ ├── grizzly-http-servlet-1.9.8.jar
│ │ │ ├── grizzly-portunif-1.9.8.jar
│ │ │ ├── grizzly-rcm-1.9.8.jar
│ │ │ ├── grizzly-servlet-webserver-1.9.8.jar
│ │ │ ├── grizzly-utils-1.9.8.jar
│ │ │ ├── jackson-core-asl-1.1.1.jar
│ │ │ ├── jaxb-api-2.1.jar
│ │ │ ├── jaxb-impl-2.1.12.jar
│ │ │ ├── jersey-core-1.1.5.1.jar
│ │ │ ├── jersey-json-1.1.5.1.jar
│ │ │ ├── jersey-server-1.1.5.1.jar
│ │ │ ├── jettison-1.1.jar
│ │ │ ├── jsr311-api-1.1.1.jar
│ │ │ ├── log4j-1.2.15.jar
│ │ │ ├── servlet-api-2.5.jar
│ │ │ ├── slf4j-api-1.6.1.jar
│ │ │ ├── slf4j-log4j12-1.6.1.jar
│ │ │ ├── stax-api-1.0.1.jar
│ │ │ └── stax-api-1.0-2.jar
│ │ └── zookeeper-3.4.12-rest.jar
│ ├── zkfuse
│ │ ├── build.xml
│ │ ├── configure.ac
│ │ ├── Makefile.am
│ │ ├── README.txt
│ │ ├── src
│ │ │ ├── blockingqueue.h
│ │ │ ├── doxygen.cfg
│ │ │ ├── event.cc
│ │ │ ├── event.h
│ │ │ ├── log4cxx.properties
│ │ │ ├── log.cc
│ │ │ ├── log.h
│ │ │ ├── Makefile.am
│ │ │ ├── mutex.h
│ │ │ ├── thread.cc
│ │ │ ├── thread.h
│ │ │ ├── zkadapter.cc
│ │ │ ├── zkadapter.h
│ │ │ └── zkfuse.cc
│ │ └── VERSION
│ ├── zkperl
│ │ ├── build
│ │ │ ├── check_zk_version.c
│ │ │ └── check_zk_version.h
│ │ ├── build.xml
│ │ ├── Changes
│ │ ├── LICENSE
│ │ ├── Makefile.PL
│ │ ├── MANIFEST
│ │ ├── NOTICE
│ │ ├── README
│ │ ├── t
│ │ │ ├── 10_invalid.t
│ │ │ ├── 15_thread.t
│ │ │ ├── 20_tie.t
│ │ │ ├── 22_stat_tie.t
│ │ │ ├── 24_watch_tie.t
│ │ │ ├── 30_connect.t
│ │ │ ├── 35_log.t
│ │ │ ├── 40_basic.t
│ │ │ ├── 45_class.t
│ │ │ ├── 50_access.t
│ │ │ ├── 60_watch.t
│ │ │ └── util.pl
│ │ ├── typemap
│ │ ├── VERSION
│ │ ├── ZooKeeper.pm
│ │ └── ZooKeeper.xs
│ ├── zkpython
│ │ ├── build.xml
│ │ ├── ivy.xml
│ │ ├── README
│ │ ├── src
│ │ │ ├── c
│ │ │ │ ├── pyzk_docstrings.h
│ │ │ │ └── zookeeper.c
│ │ │ ├── examples
│ │ │ │ ├── README
│ │ │ │ └── watch_znode_for_changes.py
│ │ │ ├── packages
│ │ │ │ ├── deb
│ │ │ │ │ └── zkpython.control
│ │ │ │ │ └── control
│ │ │ │ └── rpm
│ │ │ │ └── spec
│ │ │ │ └── zkpython.spec
│ │ │ ├── python
│ │ │ │ ├── setup.py
│ │ │ │ └── zk.py
│ │ │ └── test
│ │ │ ├── acl_test.py
│ │ │ ├── async_test.py
│ │ │ ├── callback_test.py
│ │ │ ├── clientid_test.py
│ │ │ ├── close_deadlock_test.py
│ │ │ ├── connection_test.py
│ │ │ ├── create_test.py
│ │ │ ├── delete_test.py
│ │ │ ├── exists_test.py
│ │ │ ├── get_set_test.py
│ │ │ ├── run_tests.sh
│ │ │ ├── zkServer.sh
│ │ │ └── zktestbase.py
│ │ └── VERSION
│ ├── zktreeutil
│ │ ├── build.xml
│ │ ├── configure.ac
│ │ ├── Makefile.am
│ │ ├── README.txt
│ │ ├── src
│ │ │ ├── Makefile.am
│ │ │ ├── SimpleTree.h
│ │ │ ├── ZkAdaptor.cc
│ │ │ ├── ZkAdaptor.h
│ │ │ ├── ZkTreeUtil.cc
│ │ │ ├── ZkTreeUtil.h
│ │ │ └── ZkTreeUtilMain.cc
│ │ ├── tests
│ │ │ └── zk_sample.xml
│ │ └── VERSION
│ └── ZooInspector
│ ├── build.xml
│ ├── config
│ │ ├── defaultConnectionSettings.cfg
│ │ └── defaultNodeVeiwers.cfg
│ ├── icons
│ │ ├── edtsrclkup_co.gif
│ │ ├── file_obj.gif
│ │ ├── fldr_obj.gif
│ │ ├── info_obj.gif
│ │ ├── jspdecl.gif
│ │ ├── launch_run.gif
│ │ ├── launch_stop.gif
│ │ ├── new_con.gif
│ │ ├── refresh.gif
│ │ ├── save_edit.gif
│ │ ├── search_next.gif
│ │ ├── search_prev.gif
│ │ └── trash.gif
│ ├── lib
│ │ └── jtoaster-1.0.4.jar
│ ├── licences
│ │ ├── Apache Software Licence v2.0.txt
│ │ └── epl-v10.html
│ ├── src
│ │ └── java
│ │ └── org
│ │ └── apache
│ │ └── zookeeper
│ │ ├── inspector
│ │ │ ├── encryption
│ │ │ │ ├── BasicDataEncryptionManager.java
│ │ │ │ └── DataEncryptionManager.java
│ │ │ ├── gui
│ │ │ │ ├── about.html
│ │ │ │ ├── nodeviewer
│ │ │ │ │ ├── NodeViewerACL.java
│ │ │ │ │ ├── NodeViewerData.java
│ │ │ │ │ ├── NodeViewerMetaData.java
│ │ │ │ │ └── ZooInspectorNodeViewer.java
│ │ │ │ ├── NodeViewersChangeListener.java
│ │ │ │ ├── ZooInspectorAboutDialog.java
│ │ │ │ ├── ZooInspectorConnectionPropertiesDialog.java
│ │ │ │ ├── ZooInspectorIconResources.java
│ │ │ │ ├── ZooInspectorNodeViewersDialog.java
│ │ │ │ ├── ZooInspectorNodeViewersPanel.java
│ │ │ │ ├── ZooInspectorPanel.java
│ │ │ │ └── ZooInspectorTreeViewer.java
│ │ │ ├── logger
│ │ │ │ └── LoggerFactory.java
│ │ │ ├── manager
│ │ │ │ ├── NodeListener.java
│ │ │ │ ├── Pair.java
│ │ │ │ ├── ZooInspectorManagerImpl.java
│ │ │ │ ├── ZooInspectorManager.java
│ │ │ │ ├── ZooInspectorNodeManager.java
│ │ │ │ ├── ZooInspectorNodeTreeManager.java
│ │ │ │ └── ZooInspectorReadOnlyManager.java
│ │ │ └── ZooInspector.java
│ │ └── retry
│ │ └── ZooKeeperRetry.java
│ └── zookeeper-3.4.12-ZooInspector.jar
├── dist-maven
│ ├── zookeeper-3.4.12.jar
│ ├── zookeeper-3.4.12.jar.asc
│ ├── zookeeper-3.4.12.jar.md5
│ ├── zookeeper-3.4.12.jar.md5.asc
│ ├── zookeeper-3.4.12.jar.sha1
│ ├── zookeeper-3.4.12.jar.sha1.asc
│ ├── zookeeper-3.4.12-javadoc.jar
│ ├── zookeeper-3.4.12-javadoc.jar.asc
│ ├── zookeeper-3.4.12-javadoc.jar.md5
│ ├── zookeeper-3.4.12-javadoc.jar.md5.asc
│ ├── zookeeper-3.4.12-javadoc.jar.sha1
│ ├── zookeeper-3.4.12-javadoc.jar.sha1.asc
│ ├── zookeeper-3.4.12.pom
│ ├── zookeeper-3.4.12.pom.asc
│ ├── zookeeper-3.4.12.pom.md5
│ ├── zookeeper-3.4.12.pom.md5.asc
│ ├── zookeeper-3.4.12.pom.sha1
│ ├── zookeeper-3.4.12.pom.sha1.asc
│ ├── zookeeper-3.4.12-sources.jar
│ ├── zookeeper-3.4.12-sources.jar.asc
│ ├── zookeeper-3.4.12-sources.jar.md5
│ ├── zookeeper-3.4.12-sources.jar.md5.asc
│ ├── zookeeper-3.4.12-sources.jar.sha1
│ ├── zookeeper-3.4.12-sources.jar.sha1.asc
│ ├── zookeeper-3.4.12-tests.jar
│ ├── zookeeper-3.4.12-tests.jar.asc
│ ├── zookeeper-3.4.12-tests.jar.md5
│ ├── zookeeper-3.4.12-tests.jar.md5.asc
│ ├── zookeeper-3.4.12-tests.jar.sha1
│ └── zookeeper-3.4.12-tests.jar.sha1.asc
├── docs
│ ├── api
│ │ ├── allclasses-frame.html
│ │ ├── allclasses-noframe.html
│ │ ├── constant-values.html
│ │ ├── deprecated-list.html
│ │ ├── help-doc.html
│ │ ├── index-all.html
│ │ ├── index.html
│ │ ├── org
│ │ │ └── apache
│ │ │ ├── jute
│ │ │ │ ├── class-use
│ │ │ │ │ └── Record.html
│ │ │ │ ├── compiler
│ │ │ │ │ ├── generated
│ │ │ │ │ │ ├── package-frame.html
│ │ │ │ │ │ ├── package-summary.html
│ │ │ │ │ │ ├── package-tree.html
│ │ │ │ │ │ └── package-use.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ ├── package-use.html
│ │ │ │ └── Record.html
│ │ │ └── zookeeper
│ │ │ ├── AsyncCallback.ACLCallback.html
│ │ │ ├── AsyncCallback.Children2Callback.html
│ │ │ ├── AsyncCallback.ChildrenCallback.html
│ │ │ ├── AsyncCallback.DataCallback.html
│ │ │ ├── AsyncCallback.html
│ │ │ ├── AsyncCallback.MultiCallback.html
│ │ │ ├── AsyncCallback.StatCallback.html
│ │ │ ├── AsyncCallback.StringCallback.html
│ │ │ ├── AsyncCallback.VoidCallback.html
│ │ │ ├── class-use
│ │ │ │ ├── AsyncCallback.ACLCallback.html
│ │ │ │ ├── AsyncCallback.Children2Callback.html
│ │ │ │ ├── AsyncCallback.ChildrenCallback.html
│ │ │ │ ├── AsyncCallback.DataCallback.html
│ │ │ │ ├── AsyncCallback.html
│ │ │ │ ├── AsyncCallback.MultiCallback.html
│ │ │ │ ├── AsyncCallback.StatCallback.html
│ │ │ │ ├── AsyncCallback.StringCallback.html
│ │ │ │ ├── AsyncCallback.VoidCallback.html
│ │ │ │ ├── CreateMode.html
│ │ │ │ ├── KeeperException.APIErrorException.html
│ │ │ │ ├── KeeperException.AuthFailedException.html
│ │ │ │ ├── KeeperException.BadArgumentsException.html
│ │ │ │ ├── KeeperException.BadVersionException.html
│ │ │ │ ├── KeeperException.CodeDeprecated.html
│ │ │ │ ├── KeeperException.Code.html
│ │ │ │ ├── KeeperException.ConnectionLossException.html
│ │ │ │ ├── KeeperException.DataInconsistencyException.html
│ │ │ │ ├── KeeperException.html
│ │ │ │ ├── KeeperException.InvalidACLException.html
│ │ │ │ ├── KeeperException.InvalidCallbackException.html
│ │ │ │ ├── KeeperException.MarshallingErrorException.html
│ │ │ │ ├── KeeperException.NoAuthException.html
│ │ │ │ ├── KeeperException.NoChildrenForEphemeralsException.html
│ │ │ │ ├── KeeperException.NodeExistsException.html
│ │ │ │ ├── KeeperException.NoNodeException.html
│ │ │ │ ├── KeeperException.NotEmptyException.html
│ │ │ │ ├── KeeperException.NotReadOnlyException.html
│ │ │ │ ├── KeeperException.OperationTimeoutException.html
│ │ │ │ ├── KeeperException.RuntimeInconsistencyException.html
│ │ │ │ ├── KeeperException.SessionExpiredException.html
│ │ │ │ ├── KeeperException.SessionMovedException.html
│ │ │ │ ├── KeeperException.SystemErrorException.html
│ │ │ │ ├── KeeperException.UnimplementedException.html
│ │ │ │ ├── ServerAdminClient.html
│ │ │ │ ├── Transaction.html
│ │ │ │ ├── WatchedEvent.html
│ │ │ │ ├── Watcher.Event.EventType.html
│ │ │ │ ├── Watcher.Event.html
│ │ │ │ ├── Watcher.Event.KeeperState.html
│ │ │ │ ├── Watcher.html
│ │ │ │ ├── ZooDefs.html
│ │ │ │ ├── ZooDefs.Ids.html
│ │ │ │ ├── ZooDefs.OpCode.html
│ │ │ │ ├── ZooDefs.Perms.html
│ │ │ │ ├── ZooKeeper.html
│ │ │ │ ├── ZooKeeperMain.html
│ │ │ │ └── ZooKeeper.States.html
│ │ │ ├── client
│ │ │ │ ├── class-use
│ │ │ │ │ ├── FourLetterWordMain.html
│ │ │ │ │ ├── HostProvider.html
│ │ │ │ │ └── StaticHostProvider.html
│ │ │ │ ├── FourLetterWordMain.html
│ │ │ │ ├── HostProvider.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ ├── package-use.html
│ │ │ │ └── StaticHostProvider.html
│ │ │ ├── common
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── CreateMode.html
│ │ │ ├── data
│ │ │ │ ├── ACL.html
│ │ │ │ ├── class-use
│ │ │ │ │ ├── ACL.html
│ │ │ │ │ ├── Id.html
│ │ │ │ │ ├── Stat.html
│ │ │ │ │ ├── StatPersisted.html
│ │ │ │ │ └── StatPersistedV1.html
│ │ │ │ ├── Id.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ ├── package-use.html
│ │ │ │ ├── Stat.html
│ │ │ │ ├── StatPersisted.html
│ │ │ │ └── StatPersistedV1.html
│ │ │ ├── jmx
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── KeeperException.APIErrorException.html
│ │ │ ├── KeeperException.AuthFailedException.html
│ │ │ ├── KeeperException.BadArgumentsException.html
│ │ │ ├── KeeperException.BadVersionException.html
│ │ │ ├── KeeperException.CodeDeprecated.html
│ │ │ ├── KeeperException.Code.html
│ │ │ ├── KeeperException.ConnectionLossException.html
│ │ │ ├── KeeperException.DataInconsistencyException.html
│ │ │ ├── KeeperException.html
│ │ │ ├── KeeperException.InvalidACLException.html
│ │ │ ├── KeeperException.InvalidCallbackException.html
│ │ │ ├── KeeperException.MarshallingErrorException.html
│ │ │ ├── KeeperException.NoAuthException.html
│ │ │ ├── KeeperException.NoChildrenForEphemeralsException.html
│ │ │ ├── KeeperException.NodeExistsException.html
│ │ │ ├── KeeperException.NoNodeException.html
│ │ │ ├── KeeperException.NotEmptyException.html
│ │ │ ├── KeeperException.NotReadOnlyException.html
│ │ │ ├── KeeperException.OperationTimeoutException.html
│ │ │ ├── KeeperException.RuntimeInconsistencyException.html
│ │ │ ├── KeeperException.SessionExpiredException.html
│ │ │ ├── KeeperException.SessionMovedException.html
│ │ │ ├── KeeperException.SystemErrorException.html
│ │ │ ├── KeeperException.UnimplementedException.html
│ │ │ ├── package-frame.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ ├── package-use.html
│ │ │ ├── server
│ │ │ │ ├── class-use
│ │ │ │ │ ├── LogFormatter.html
│ │ │ │ │ ├── PurgeTxnLog.html
│ │ │ │ │ ├── SnapshotFormatter.html
│ │ │ │ │ └── ZooKeeperServerMain.html
│ │ │ │ ├── LogFormatter.html
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ ├── package-use.html
│ │ │ │ ├── PurgeTxnLog.html
│ │ │ │ ├── quorum
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ └── QuorumPeerMain.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ ├── package-use.html
│ │ │ │ │ └── QuorumPeerMain.html
│ │ │ │ ├── SnapshotFormatter.html
│ │ │ │ ├── upgrade
│ │ │ │ │ ├── class-use
│ │ │ │ │ │ └── UpgradeMain.html
│ │ │ │ │ ├── package-frame.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ ├── package-use.html
│ │ │ │ │ └── UpgradeMain.html
│ │ │ │ └── ZooKeeperServerMain.html
│ │ │ ├── ServerAdminClient.html
│ │ │ ├── Transaction.html
│ │ │ ├── util
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── version
│ │ │ │ └── util
│ │ │ │ ├── package-frame.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── WatchedEvent.html
│ │ │ ├── Watcher.Event.EventType.html
│ │ │ ├── Watcher.Event.html
│ │ │ ├── Watcher.Event.KeeperState.html
│ │ │ ├── Watcher.html
│ │ │ ├── ZooDefs.html
│ │ │ ├── ZooDefs.Ids.html
│ │ │ ├── ZooDefs.OpCode.html
│ │ │ ├── ZooDefs.Perms.html
│ │ │ ├── ZooKeeper.html
│ │ │ ├── ZooKeeperMain.html
│ │ │ └── ZooKeeper.States.html
│ │ ├── overview-frame.html
│ │ ├── overview-summary.html
│ │ ├── overview-tree.html
│ │ ├── package-list
│ │ ├── script.js
│ │ ├── serialized-form.html
│ │ └── stylesheet.css
│ ├── bookkeeperConfig.html
│ ├── bookkeeperConfig.pdf
│ ├── bookkeeperOverview.html
│ ├── bookkeeperOverview.pdf
│ ├── bookkeeperProgrammer.html
│ ├── bookkeeperProgrammer.pdf
│ ├── bookkeeperStarted.html
│ ├── bookkeeperStarted.pdf
│ ├── bookkeeperStream.html
│ ├── bookkeeperStream.pdf
│ ├── broken-links.xml
│ ├── images
│ │ ├── 2pc.jpg
│ │ ├── bk-overview.jpg
│ │ ├── built-with-forrest-button.png
│ │ ├── favicon.ico
│ │ ├── hadoop-logo.jpg
│ │ ├── instruction_arrow.png
│ │ ├── state_dia.jpg
│ │ ├── zkcomponents.jpg
│ │ ├── zknamespace.jpg
│ │ ├── zkperfreliability.jpg
│ │ ├── zkperfRW-3.2.jpg
│ │ ├── zkperfRW.jpg
│ │ ├── zkservice.jpg
│ │ └── zookeeper_small.gif
│ ├── index.html
│ ├── index.pdf
│ ├── javaExample.html
│ ├── javaExample.pdf
│ ├── jdiff
│ │ ├── changes
│ │ │ ├── alldiffs_index_additions.html
│ │ │ ├── alldiffs_index_all.html
│ │ │ ├── alldiffs_index_changes.html
│ │ │ ├── alldiffs_index_removals.html
│ │ │ ├── changes-summary.html
│ │ │ ├── classes_index_additions.html
│ │ │ ├── classes_index_all.html
│ │ │ ├── classes_index_changes.html
│ │ │ ├── classes_index_removals.html
│ │ │ ├── constructors_index_additions.html
│ │ │ ├── constructors_index_all.html
│ │ │ ├── constructors_index_changes.html
│ │ │ ├── constructors_index_removals.html
│ │ │ ├── fields_index_additions.html
│ │ │ ├── fields_index_all.html
│ │ │ ├── fields_index_changes.html
│ │ │ ├── fields_index_removals.html
│ │ │ ├── jdiff_help.html
│ │ │ ├── jdiff_statistics.html
│ │ │ ├── jdiff_topleftframe.html
│ │ │ ├── methods_index_additions.html
│ │ │ ├── methods_index_all.html
│ │ │ ├── methods_index_changes.html
│ │ │ ├── methods_index_removals.html
│ │ │ ├── org.apache.zookeeper.AsyncCallback.ACLCallback.html
│ │ │ ├── org.apache.zookeeper.AsyncCallback.ChildrenCallback.html
│ │ │ ├── org.apache.zookeeper.AsyncCallback.DataCallback.html
│ │ │ ├── org.apache.zookeeper.AsyncCallback.StatCallback.html
│ │ │ ├── org.apache.zookeeper.AsyncCallback.StringCallback.html
│ │ │ ├── org.apache.zookeeper.AsyncCallback.VoidCallback.html
│ │ │ ├── org.apache.zookeeper.ClientCnxn.html
│ │ │ ├── org.apache.zookeeper.ClientWatchManager.html
│ │ │ ├── org.apache.zookeeper.Environment.html
│ │ │ ├── org.apache.zookeeper.KeeperException.BadArgumentsException.html
│ │ │ ├── org.apache.zookeeper.KeeperException.BadVersionException.html
│ │ │ ├── org.apache.zookeeper.KeeperException.Code.html
│ │ │ ├── org.apache.zookeeper.KeeperException.html
│ │ │ ├── org.apache.zookeeper.KeeperException.InvalidACLException.html
│ │ │ ├── org.apache.zookeeper.KeeperException.NoChildrenForEphemeralsException.html
│ │ │ ├── org.apache.zookeeper.KeeperException.NodeExistsException.html
│ │ │ ├── org.apache.zookeeper.KeeperException.NoNodeException.html
│ │ │ ├── org.apache.zookeeper.KeeperException.NotEmptyException.html
│ │ │ ├── org.apache.zookeeper.Version.html
│ │ │ ├── org.apache.zookeeper.Watcher.Event.KeeperState.html
│ │ │ ├── org.apache.zookeeper.Watcher.html
│ │ │ ├── org.apache.zookeeper.ZooDefs.OpCode.html
│ │ │ ├── org.apache.zookeeper.ZooKeeper.html
│ │ │ ├── org.apache.zookeeper.ZooKeeperMain.html
│ │ │ ├── org.apache.zookeeper.ZooKeeper.States.html
│ │ │ ├── packages_index_additions.html
│ │ │ ├── packages_index_all.html
│ │ │ ├── packages_index_changes.html
│ │ │ ├── packages_index_removals.html
│ │ │ └── pkg_org.apache.zookeeper.html
│ │ ├── changes.html
│ │ ├── missingSinces.txt
│ │ ├── stylesheet-jdiff.css
│ │ └── user_comments_for_zookeeper_3.1.1_to_zookeeper_3.4.12.xml
│ ├── linkmap.html
│ ├── linkmap.pdf
│ ├── recipes.html
│ ├── recipes.pdf
│ ├── releasenotes.html
│ ├── skin
│ │ ├── basic.css
│ │ ├── breadcrumbs.js
│ │ ├── breadcrumbs-optimized.js
│ │ ├── CommonMessages_de.xml
│ │ ├── CommonMessages_en_US.xml
│ │ ├── CommonMessages_es.xml
│ │ ├── CommonMessages_fr.xml
│ │ ├── fontsize.js
│ │ ├── getBlank.js
│ │ ├── getMenu.js
│ │ ├── images
│ │ │ ├── add.jpg
│ │ │ ├── apache-thanks.png
│ │ │ ├── built-with-cocoon.gif
│ │ │ ├── built-with-forrest-button.png
│ │ │ ├── chapter.gif
│ │ │ ├── chapter_open.gif
│ │ │ ├── current.gif
│ │ │ ├── error.png
│ │ │ ├── external-link.gif
│ │ │ ├── fix.jpg
│ │ │ ├── forrest-credit-logo.png
│ │ │ ├── hack.jpg
│ │ │ ├── header_white_line.gif
│ │ │ ├── info.png
│ │ │ ├── instruction_arrow.png
│ │ │ ├── label.gif
│ │ │ ├── page.gif
│ │ │ ├── pdfdoc.gif
│ │ │ ├── poddoc.png
│ │ │ ├── printer.gif
│ │ │ ├── rc-b-l-15-1body-2menu-3menu.png
│ │ │ ├── rc-b-r-15-1body-2menu-3menu.png
│ │ │ ├── rc-b-r-5-1header-2tab-selected-3tab-selected.png
│ │ │ ├── rc-t-l-5-1header-2searchbox-3searchbox.png
│ │ │ ├── rc-t-l-5-1header-2tab-selected-3tab-selected.png
│ │ │ ├── rc-t-l-5-1header-2tab-unselected-3tab-unselected.png
│ │ │ ├── rc-t-r-15-1body-2menu-3menu.png
│ │ │ ├── rc-t-r-5-1header-2searchbox-3searchbox.png
│ │ │ ├── rc-t-r-5-1header-2tab-selected-3tab-selected.png
│ │ │ ├── rc-t-r-5-1header-2tab-unselected-3tab-unselected.png
│ │ │ ├── README.txt
│ │ │ ├── remove.jpg
│ │ │ ├── rss.png
│ │ │ ├── spacer.gif
│ │ │ ├── success.png
│ │ │ ├── txtdoc.png
│ │ │ ├── update.jpg
│ │ │ ├── valid-html401.png
│ │ │ ├── vcss.png
│ │ │ ├── warning.png
│ │ │ └── xmldoc.gif
│ │ ├── menu.js
│ │ ├── note.txt
│ │ ├── print.css
│ │ ├── profile.css
│ │ ├── prototype.js
│ │ └── screen.css
│ ├── zookeeperAdmin.html
│ ├── zookeeperAdmin.pdf
│ ├── zookeeperHierarchicalQuorums.html
│ ├── zookeeperHierarchicalQuorums.pdf
│ ├── zookeeperInternals.html
│ ├── zookeeperInternals.pdf
│ ├── zookeeperJMX.html
│ ├── zookeeperJMX.pdf
│ ├── zookeeperObservers.html
│ ├── zookeeperObservers.pdf
│ ├── zookeeperOtherInfo.html
│ ├── zookeeperOtherInfo.pdf
│ ├── zookeeperOver.html
│ ├── zookeeperOver.pdf
│ ├── zookeeperProgrammers.html
│ ├── zookeeperProgrammers.pdf
│ ├── zookeeperQuotas.html
│ ├── zookeeperQuotas.pdf
│ ├── zookeeperReconfig.pdf
│ ├── zookeeperStarted.html
│ ├── zookeeperStarted.pdf
│ ├── zookeeperTutorial.html
│ └── zookeeperTutorial.pdf
├── ivysettings.xml
├── ivy.xml
├── lib
│ ├── audience-annotations-0.5.0.jar
│ ├── cobertura
│ │ └── README.txt
│ ├── jdiff
│ │ ├── zookeeper_3.1.1.xml
│ │ └── zookeeper_3.4.12.xml
│ ├── jline-0.9.94.jar
│ ├── jline-0.9.94.LICENSE.txt
│ ├── log4j-1.2.17.jar
│ ├── log4j-1.2.17.LICENSE.txt
│ ├── netty-3.10.6.Final.jar
│ ├── slf4j-1.7.25.LICENSE.txt
│ ├── slf4j-api-1.7.25.jar
│ └── slf4j-log4j12-1.7.25.jar
├── LICENSE.txt
├── NOTICE.txt
├── README.md
├── README_packaging.txt
├── recipes
│ ├── election
│ │ ├── build.xml
│ │ ├── src
│ │ │ └── java
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── recipes
│ │ │ └── leader
│ │ │ ├── LeaderElectionAware.java
│ │ │ ├── LeaderElectionSupport.java
│ │ │ └── LeaderOffer.java
│ │ ├── test
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── recipes
│ │ │ └── leader
│ │ │ └── LeaderElectionSupportTest.java
│ │ └── zookeeper-3.4.12-recipes-election.jar
│ ├── lock
│ │ ├── build.xml
│ │ ├── src
│ │ │ ├── c
│ │ │ │ ├── acinclude.m4
│ │ │ │ ├── aminclude.am
│ │ │ │ ├── c-doc.Doxyfile
│ │ │ │ ├── configure.ac
│ │ │ │ ├── include
│ │ │ │ │ └── zoo_lock.h
│ │ │ │ ├── INSTALL
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── README.txt
│ │ │ │ ├── src
│ │ │ │ │ └── zoo_lock.c
│ │ │ │ └── tests
│ │ │ │ ├── TestClient.cc
│ │ │ │ ├── TestDriver.cc
│ │ │ │ ├── Util.cc
│ │ │ │ ├── Util.h
│ │ │ │ └── zkServer.sh
│ │ │ └── java
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── recipes
│ │ │ └── lock
│ │ │ ├── LockListener.java
│ │ │ ├── ProtocolSupport.java
│ │ │ ├── WriteLock.java
│ │ │ ├── ZNodeName.java
│ │ │ └── ZooKeeperOperation.java
│ │ ├── test
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── recipes
│ │ │ └── lock
│ │ │ ├── WriteLockTest.java
│ │ │ └── ZNodeNameTest.java
│ │ └── zookeeper-3.4.12-recipes-lock.jar
│ └── queue
│ ├── build.xml
│ ├── src
│ │ ├── c
│ │ │ ├── acinclude.m4
│ │ │ ├── aminclude.am
│ │ │ ├── c-doc.Doxyfile
│ │ │ ├── configure.ac
│ │ │ ├── include
│ │ │ │ └── zoo_queue.h
│ │ │ ├── INSTALL
│ │ │ ├── LICENSE
│ │ │ ├── Makefile.am
│ │ │ ├── README.txt
│ │ │ ├── src
│ │ │ │ └── zoo_queue.c
│ │ │ └── tests
│ │ │ ├── TestClient.cc
│ │ │ ├── TestDriver.cc
│ │ │ ├── Util.cc
│ │ │ ├── Util.h
│ │ │ └── zkServer.sh
│ │ └── java
│ │ └── org
│ │ └── apache
│ │ └── zookeeper
│ │ └── recipes
│ │ └── queue
│ │ └── DistributedQueue.java
│ ├── test
│ │ └── org
│ │ └── apache
│ │ └── zookeeper
│ │ └── recipes
│ │ └── queue
│ │ └── DistributedQueueTest.java
│ └── zookeeper-3.4.12-recipes-queue.jar
├── src
│ ├── c
│ │ ├── acinclude.m4
│ │ ├── aclocal.m4
│ │ ├── aminclude.am
│ │ ├── autom4te.cache
│ │ │ ├── output.0
│ │ │ ├── output.1
│ │ │ ├── requests
│ │ │ ├── traces.0
│ │ │ └── traces.1
│ │ ├── c-doc.Doxyfile
│ │ ├── ChangeLog
│ │ ├── cmake_config.h.in
│ │ ├── CMakeLists.txt
│ │ ├── compile
│ │ ├── config.guess
│ │ ├── config.h.in
│ │ ├── config.sub
│ │ ├── configure
│ │ ├── configure.ac
│ │ ├── depcomp
│ │ ├── generated
│ │ │ ├── zookeeper.jute.c
│ │ │ └── zookeeper.jute.h
│ │ ├── include
│ │ │ ├── proto.h
│ │ │ ├── recordio.h
│ │ │ ├── winconfig.h
│ │ │ ├── zookeeper.h
│ │ │ ├── zookeeper_log.h
│ │ │ └── zookeeper_version.h
│ │ ├── INSTALL
│ │ ├── install-sh
│ │ ├── LICENSE
│ │ ├── ltmain.sh
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── missing
│ │ ├── NOTICE.txt
│ │ ├── README
│ │ ├── src
│ │ │ ├── cli.c
│ │ │ ├── hashtable
│ │ │ │ ├── hashtable.c
│ │ │ │ ├── hashtable.h
│ │ │ │ ├── hashtable_itr.c
│ │ │ │ ├── hashtable_itr.h
│ │ │ │ ├── hashtable_private.h
│ │ │ │ └── LICENSE.txt
│ │ │ ├── load_gen.c
│ │ │ ├── mt_adaptor.c
│ │ │ ├── recordio.c
│ │ │ ├── st_adaptor.c
│ │ │ ├── winport.c
│ │ │ ├── winport.h
│ │ │ ├── zk_adaptor.h
│ │ │ ├── zk_hashtable.c
│ │ │ ├── zk_hashtable.h
│ │ │ ├── zk_log.c
│ │ │ └── zookeeper.c
│ │ └── tests
│ │ ├── CollectionUtil.h
│ │ ├── CppAssertHelper.h
│ │ ├── LibCMocks.cc
│ │ ├── LibCMocks.h
│ │ ├── LibCSymTable.cc
│ │ ├── LibCSymTable.h
│ │ ├── MocksBase.cc
│ │ ├── MocksBase.h
│ │ ├── PthreadMocks.cc
│ │ ├── PthreadMocks.h
│ │ ├── TestClient.cc
│ │ ├── TestClientRetry.cc
│ │ ├── TestDriver.cc
│ │ ├── TestMulti.cc
│ │ ├── TestOperations.cc
│ │ ├── TestWatchers.cc
│ │ ├── TestZookeeperClose.cc
│ │ ├── TestZookeeperInit.cc
│ │ ├── ThreadingUtil.cc
│ │ ├── ThreadingUtil.h
│ │ ├── Util.cc
│ │ ├── Util.h
│ │ ├── Vector.h
│ │ ├── wrappers-mt.opt
│ │ ├── wrappers.opt
│ │ ├── ZKMocks.cc
│ │ ├── ZKMocks.h
│ │ └── zkServer.sh
│ ├── contrib
│ │ ├── build-contrib.xml
│ │ ├── build.xml
│ │ ├── fatjar
│ │ │ ├── build.xml
│ │ │ ├── conf
│ │ │ │ └── mainClasses
│ │ │ ├── README.txt
│ │ │ └── src
│ │ │ └── java
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── util
│ │ │ └── FatJarMain.java
│ │ ├── huebrowser
│ │ │ ├── README
│ │ │ └── zkui
│ │ │ ├── Makefile
│ │ │ ├── setup.py
│ │ │ └── src
│ │ │ └── zkui
│ │ │ ├── forms.py
│ │ │ ├── __init__.py
│ │ │ ├── models.py
│ │ │ ├── rest.py
│ │ │ ├── settings.py
│ │ │ ├── static
│ │ │ │ ├── art
│ │ │ │ │ ├── line_icons.png
│ │ │ │ │ └── zkui.png
│ │ │ │ ├── bootstrap.js
│ │ │ │ ├── css
│ │ │ │ │ └── zkui.css
│ │ │ │ ├── help
│ │ │ │ │ └── index.html
│ │ │ │ └── js
│ │ │ │ ├── package.yml
│ │ │ │ └── Source
│ │ │ │ └── Zkui
│ │ │ │ └── Zkui.js
│ │ │ ├── stats.py
│ │ │ ├── templates
│ │ │ │ ├── clients.mako
│ │ │ │ ├── create.mako
│ │ │ │ ├── edit.mako
│ │ │ │ ├── index.mako
│ │ │ │ ├── shared_components.mako
│ │ │ │ ├── tree.mako
│ │ │ │ └── view.mako
│ │ │ ├── urls.py
│ │ │ ├── utils.py
│ │ │ ├── views.py
│ │ │ └── windmilltests.py
│ │ ├── loggraph
│ │ │ ├── bin
│ │ │ │ ├── loggraph-dev.sh
│ │ │ │ └── loggraph.sh
│ │ │ ├── build.xml
│ │ │ ├── ivy.xml
│ │ │ ├── README.txt
│ │ │ ├── src
│ │ │ │ └── java
│ │ │ │ └── org
│ │ │ │ └── apache
│ │ │ │ └── zookeeper
│ │ │ │ └── graph
│ │ │ │ ├── FilterException.java
│ │ │ │ ├── FilterOp.java
│ │ │ │ ├── filterops
│ │ │ │ │ ├── AndOp.java
│ │ │ │ │ ├── Arg.java
│ │ │ │ │ ├── EqualsOp.java
│ │ │ │ │ ├── GreaterThanOp.java
│ │ │ │ │ ├── LessThanOp.java
│ │ │ │ │ ├── NotOp.java
│ │ │ │ │ ├── NumberArg.java
│ │ │ │ │ ├── OrOp.java
│ │ │ │ │ ├── StringArg.java
│ │ │ │ │ ├── SymbolArg.java
│ │ │ │ │ └── XorOp.java
│ │ │ │ ├── FilterParser.java
│ │ │ │ ├── JsonGenerator.java
│ │ │ │ ├── Log4JEntry.java
│ │ │ │ ├── Log4JSource.java
│ │ │ │ ├── LogEntry.java
│ │ │ │ ├── LogIterator.java
│ │ │ │ ├── LogServer.java
│ │ │ │ ├── LogSkipList.java
│ │ │ │ ├── LogSource.java
│ │ │ │ ├── MeasureThroughput.java
│ │ │ │ ├── MergedLogSource.java
│ │ │ │ ├── RandomAccessFileReader.java
│ │ │ │ ├── servlets
│ │ │ │ │ ├── FileLoader.java
│ │ │ │ │ ├── Fs.java
│ │ │ │ │ ├── GraphData.java
│ │ │ │ │ ├── JsonServlet.java
│ │ │ │ │ ├── NumEvents.java
│ │ │ │ │ ├── StaticContent.java
│ │ │ │ │ └── Throughput.java
│ │ │ │ ├── TransactionEntry.java
│ │ │ │ └── TxnLogSource.java
│ │ │ └── web
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── graph
│ │ │ ├── log4j.properties
│ │ │ └── resources
│ │ │ ├── date.format.js
│ │ │ ├── g.bar.js
│ │ │ ├── g.dot.js
│ │ │ ├── g.line.js
│ │ │ ├── g.pie.js
│ │ │ ├── g.raphael.js
│ │ │ ├── load-big.gif
│ │ │ ├── load.gif
│ │ │ ├── loggraph.css
│ │ │ ├── loggraph.js
│ │ │ ├── loggraph.log.js
│ │ │ ├── loggraph.server.js
│ │ │ ├── loggraph.session.js
│ │ │ ├── loggraph.stats.js
│ │ │ ├── loggraph.ui.js
│ │ │ ├── main.html
│ │ │ ├── raphael.js
│ │ │ └── yui-min.js
│ │ ├── monitoring
│ │ │ ├── cacti
│ │ │ │ └── README
│ │ │ ├── check_zookeeper.py
│ │ │ ├── ganglia
│ │ │ │ ├── modpython.conf
│ │ │ │ ├── README
│ │ │ │ ├── Screenshot.png
│ │ │ │ ├── zookeeper_ganglia.py
│ │ │ │ └── zookeeper.pyconf
│ │ │ ├── JMX-RESOURCES
│ │ │ ├── nagios
│ │ │ │ ├── hostgroups.cfg
│ │ │ │ ├── README.txt
│ │ │ │ ├── Screenshot-1.png
│ │ │ │ ├── Screenshot.png
│ │ │ │ ├── services.cfg
│ │ │ │ └── zookeeper.cfg
│ │ │ ├── README
│ │ │ └── test.py
│ │ ├── rest
│ │ │ ├── build.xml
│ │ │ ├── conf
│ │ │ │ ├── keys
│ │ │ │ │ ├── README
│ │ │ │ │ ├── rest.cer
│ │ │ │ │ └── rest.jks
│ │ │ │ ├── log4j.properties
│ │ │ │ └── rest.properties
│ │ │ ├── ivy.xml
│ │ │ ├── NOTICE.txt
│ │ │ ├── README.txt
│ │ │ ├── rest.sh
│ │ │ ├── SPEC.txt
│ │ │ └── src
│ │ │ ├── java
│ │ │ │ └── org
│ │ │ │ └── apache
│ │ │ │ └── zookeeper
│ │ │ │ └── server
│ │ │ │ └── jersey
│ │ │ │ ├── cfg
│ │ │ │ │ ├── Credentials.java
│ │ │ │ │ ├── Endpoint.java
│ │ │ │ │ ├── HostPort.java
│ │ │ │ │ ├── HostPortSet.java
│ │ │ │ │ └── RestCfg.java
│ │ │ │ ├── filters
│ │ │ │ │ └── HTTPBasicAuth.java
│ │ │ │ ├── jaxb
│ │ │ │ │ ├── ZChildren.java
│ │ │ │ │ ├── ZChildrenJSON.java
│ │ │ │ │ ├── ZError.java
│ │ │ │ │ ├── ZPath.java
│ │ │ │ │ ├── ZSession.java
│ │ │ │ │ └── ZStat.java
│ │ │ │ ├── resources
│ │ │ │ │ ├── JAXBContextResolver.java
│ │ │ │ │ ├── KeeperExceptionMapper.java
│ │ │ │ │ ├── RuntimeExceptionMapper.java
│ │ │ │ │ ├── SessionsResource.java
│ │ │ │ │ ├── ZErrorWriter.java
│ │ │ │ │ └── ZNodeResource.java
│ │ │ │ ├── RestMain.java
│ │ │ │ └── ZooKeeperService.java
│ │ │ ├── python
│ │ │ │ ├── demo_master_election.py
│ │ │ │ ├── demo_queue.py
│ │ │ │ ├── README.txt
│ │ │ │ ├── test.py
│ │ │ │ ├── zk_dump_tree.py
│ │ │ │ └── zkrest.py
│ │ │ └── test
│ │ │ ├── org
│ │ │ │ └── apache
│ │ │ │ └── zookeeper
│ │ │ │ └── server
│ │ │ │ └── jersey
│ │ │ │ ├── Base.java
│ │ │ │ ├── CreateTest.java
│ │ │ │ ├── DeleteTest.java
│ │ │ │ ├── ExistsTest.java
│ │ │ │ ├── GetChildrenTest.java
│ │ │ │ ├── GetTest.java
│ │ │ │ ├── RestTestSuite.java
│ │ │ │ ├── RootTest.java
│ │ │ │ ├── SessionTest.java
│ │ │ │ ├── SetTest.java
│ │ │ │ └── WadlTest.java
│ │ │ └── zkServer.sh
│ │ ├── zkfuse
│ │ │ ├── build.xml
│ │ │ ├── configure.ac
│ │ │ ├── Makefile.am
│ │ │ ├── README.txt
│ │ │ └── src
│ │ │ ├── blockingqueue.h
│ │ │ ├── doxygen.cfg
│ │ │ ├── event.cc
│ │ │ ├── event.h
│ │ │ ├── log4cxx.properties
│ │ │ ├── log.cc
│ │ │ ├── log.h
│ │ │ ├── Makefile.am
│ │ │ ├── mutex.h
│ │ │ ├── thread.cc
│ │ │ ├── thread.h
│ │ │ ├── zkadapter.cc
│ │ │ ├── zkadapter.h
│ │ │ └── zkfuse.cc
│ │ ├── zkperl
│ │ │ ├── build
│ │ │ │ ├── check_zk_version.c
│ │ │ │ └── check_zk_version.h
│ │ │ ├── build.xml
│ │ │ ├── Changes
│ │ │ ├── LICENSE
│ │ │ ├── Makefile.PL
│ │ │ ├── MANIFEST
│ │ │ ├── NOTICE
│ │ │ ├── README
│ │ │ ├── t
│ │ │ │ ├── 10_invalid.t
│ │ │ │ ├── 15_thread.t
│ │ │ │ ├── 20_tie.t
│ │ │ │ ├── 22_stat_tie.t
│ │ │ │ ├── 24_watch_tie.t
│ │ │ │ ├── 30_connect.t
│ │ │ │ ├── 35_log.t
│ │ │ │ ├── 40_basic.t
│ │ │ │ ├── 45_class.t
│ │ │ │ ├── 50_access.t
│ │ │ │ ├── 60_watch.t
│ │ │ │ └── util.pl
│ │ │ ├── typemap
│ │ │ ├── ZooKeeper.pm
│ │ │ └── ZooKeeper.xs
│ │ ├── zkpython
│ │ │ ├── build.xml
│ │ │ ├── ivy.xml
│ │ │ ├── README
│ │ │ └── src
│ │ │ ├── c
│ │ │ │ ├── pyzk_docstrings.h
│ │ │ │ └── zookeeper.c
│ │ │ ├── examples
│ │ │ │ ├── README
│ │ │ │ └── watch_znode_for_changes.py
│ │ │ ├── packages
│ │ │ │ ├── deb
│ │ │ │ │ └── zkpython.control
│ │ │ │ │ └── control
│ │ │ │ └── rpm
│ │ │ │ └── spec
│ │ │ │ └── zkpython.spec
│ │ │ ├── python
│ │ │ │ ├── setup.py
│ │ │ │ └── zk.py
│ │ │ └── test
│ │ │ ├── acl_test.py
│ │ │ ├── async_test.py
│ │ │ ├── callback_test.py
│ │ │ ├── clientid_test.py
│ │ │ ├── close_deadlock_test.py
│ │ │ ├── connection_test.py
│ │ │ ├── create_test.py
│ │ │ ├── delete_test.py
│ │ │ ├── exists_test.py
│ │ │ ├── get_set_test.py
│ │ │ ├── run_tests.sh
│ │ │ ├── zkServer.sh
│ │ │ └── zktestbase.py
│ │ ├── zktreeutil
│ │ │ ├── build.xml
│ │ │ ├── configure.ac
│ │ │ ├── Makefile.am
│ │ │ ├── README.txt
│ │ │ ├── src
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── SimpleTree.h
│ │ │ │ ├── ZkAdaptor.cc
│ │ │ │ ├── ZkAdaptor.h
│ │ │ │ ├── ZkTreeUtil.cc
│ │ │ │ ├── ZkTreeUtil.h
│ │ │ │ └── ZkTreeUtilMain.cc
│ │ │ └── tests
│ │ │ └── zk_sample.xml
│ │ └── zooinspector
│ │ ├── build.xml
│ │ ├── config
│ │ │ ├── defaultConnectionSettings.cfg
│ │ │ └── defaultNodeVeiwers.cfg
│ │ ├── icons
│ │ │ ├── edtsrclkup_co.gif
│ │ │ ├── file_obj.gif
│ │ │ ├── fldr_obj.gif
│ │ │ ├── info_obj.gif
│ │ │ ├── jspdecl.gif
│ │ │ ├── launch_run.gif
│ │ │ ├── launch_stop.gif
│ │ │ ├── new_con.gif
│ │ │ ├── refresh.gif
│ │ │ ├── save_edit.gif
│ │ │ ├── search_next.gif
│ │ │ ├── search_prev.gif
│ │ │ └── trash.gif
│ │ ├── ivy.xml
│ │ ├── lib
│ │ │ ├── jtoaster-1.0.4.jar
│ │ │ └── log4j.properties
│ │ ├── licences
│ │ │ ├── Apache Software Licence v2.0.txt
│ │ │ └── epl-v10.html
│ │ ├── NOTICE.txt
│ │ ├── README.txt
│ │ ├── src
│ │ │ └── java
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ ├── inspector
│ │ │ │ ├── encryption
│ │ │ │ │ ├── BasicDataEncryptionManager.java
│ │ │ │ │ └── DataEncryptionManager.java
│ │ │ │ ├── gui
│ │ │ │ │ ├── about.html
│ │ │ │ │ ├── nodeviewer
│ │ │ │ │ │ ├── NodeViewerACL.java
│ │ │ │ │ │ ├── NodeViewerData.java
│ │ │ │ │ │ ├── NodeViewerMetaData.java
│ │ │ │ │ │ └── ZooInspectorNodeViewer.java
│ │ │ │ │ ├── NodeViewersChangeListener.java
│ │ │ │ │ ├── ZooInspectorAboutDialog.java
│ │ │ │ │ ├── ZooInspectorConnectionPropertiesDialog.java
│ │ │ │ │ ├── ZooInspectorIconResources.java
│ │ │ │ │ ├── ZooInspectorNodeViewersDialog.java
│ │ │ │ │ ├── ZooInspectorNodeViewersPanel.java
│ │ │ │ │ ├── ZooInspectorPanel.java
│ │ │ │ │ └── ZooInspectorTreeViewer.java
│ │ │ │ ├── logger
│ │ │ │ │ └── LoggerFactory.java
│ │ │ │ ├── manager
│ │ │ │ │ ├── NodeListener.java
│ │ │ │ │ ├── Pair.java
│ │ │ │ │ ├── ZooInspectorManagerImpl.java
│ │ │ │ │ ├── ZooInspectorManager.java
│ │ │ │ │ ├── ZooInspectorNodeManager.java
│ │ │ │ │ ├── ZooInspectorNodeTreeManager.java
│ │ │ │ │ └── ZooInspectorReadOnlyManager.java
│ │ │ │ └── ZooInspector.java
│ │ │ └── retry
│ │ │ └── ZooKeeperRetry.java
│ │ ├── zooInspector.cmd
│ │ ├── zooInspector-dev.sh
│ │ └── zooInspector.sh
│ ├── docs
│ │ ├── forrest.properties
│ │ ├── src
│ │ │ └── documentation
│ │ │ ├── classes
│ │ │ │ └── CatalogManager.properties
│ │ │ ├── conf
│ │ │ │ └── cli.xconf
│ │ │ ├── content
│ │ │ │ └── xdocs
│ │ │ │ ├── bookkeeperConfig.xml
│ │ │ │ ├── bookkeeperOverview.xml
│ │ │ │ ├── bookkeeperProgrammer.xml
│ │ │ │ ├── bookkeeperStarted.xml
│ │ │ │ ├── bookkeeperStream.xml
│ │ │ │ ├── index.xml
│ │ │ │ ├── javaExample.xml
│ │ │ │ ├── recipes.xml
│ │ │ │ ├── site.xml
│ │ │ │ ├── tabs.xml
│ │ │ │ ├── zookeeperAdmin.xml
│ │ │ │ ├── zookeeperHierarchicalQuorums.xml
│ │ │ │ ├── zookeeperInternals.xml
│ │ │ │ ├── zookeeperJMX.xml
│ │ │ │ ├── zookeeperObservers.xml
│ │ │ │ ├── zookeeperOtherInfo.xml
│ │ │ │ ├── zookeeperOver.xml
│ │ │ │ ├── zookeeperProgrammers.xml
│ │ │ │ ├── zookeeperQuotas.xml
│ │ │ │ ├── zookeeperStarted.xml
│ │ │ │ └── zookeeperTutorial.xml
│ │ │ ├── README.txt
│ │ │ ├── resources
│ │ │ │ └── images
│ │ │ │ ├── 2pc.jpg
│ │ │ │ ├── bk-overview.jpg
│ │ │ │ ├── favicon.ico
│ │ │ │ ├── hadoop-logo.jpg
│ │ │ │ ├── state_dia.dia
│ │ │ │ ├── state_dia.jpg
│ │ │ │ ├── zkarch.jpg
│ │ │ │ ├── zkcomponents.jpg
│ │ │ │ ├── zknamespace.jpg
│ │ │ │ ├── zkperfreliability.jpg
│ │ │ │ ├── zkperfRW-3.2.jpg
│ │ │ │ ├── zkperfRW.jpg
│ │ │ │ ├── zkservice.jpg
│ │ │ │ └── zookeeper_small.gif
│ │ │ ├── skinconf.xml
│ │ │ └── TODO.txt
│ │ └── status.xml
│ ├── java
│ │ ├── generated
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ ├── data
│ │ │ │ ├── ACL.java
│ │ │ │ ├── Id.java
│ │ │ │ ├── Stat.java
│ │ │ │ ├── StatPersisted.java
│ │ │ │ └── StatPersistedV1.java
│ │ │ ├── proto
│ │ │ │ ├── AuthPacket.java
│ │ │ │ ├── CheckVersionRequest.java
│ │ │ │ ├── ConnectRequest.java
│ │ │ │ ├── ConnectResponse.java
│ │ │ │ ├── CreateRequest.java
│ │ │ │ ├── CreateResponse.java
│ │ │ │ ├── DeleteRequest.java
│ │ │ │ ├── ErrorResponse.java
│ │ │ │ ├── ExistsRequest.java
│ │ │ │ ├── ExistsResponse.java
│ │ │ │ ├── GetACLRequest.java
│ │ │ │ ├── GetACLResponse.java
│ │ │ │ ├── GetChildren2Request.java
│ │ │ │ ├── GetChildren2Response.java
│ │ │ │ ├── GetChildrenRequest.java
│ │ │ │ ├── GetChildrenResponse.java
│ │ │ │ ├── GetDataRequest.java
│ │ │ │ ├── GetDataResponse.java
│ │ │ │ ├── GetMaxChildrenRequest.java
│ │ │ │ ├── GetMaxChildrenResponse.java
│ │ │ │ ├── GetSASLRequest.java
│ │ │ │ ├── MultiHeader.java
│ │ │ │ ├── ReplyHeader.java
│ │ │ │ ├── RequestHeader.java
│ │ │ │ ├── SetACLRequest.java
│ │ │ │ ├── SetACLResponse.java
│ │ │ │ ├── SetDataRequest.java
│ │ │ │ ├── SetDataResponse.java
│ │ │ │ ├── SetMaxChildrenRequest.java
│ │ │ │ ├── SetSASLRequest.java
│ │ │ │ ├── SetSASLResponse.java
│ │ │ │ ├── SetWatches.java
│ │ │ │ ├── SyncRequest.java
│ │ │ │ ├── SyncResponse.java
│ │ │ │ └── WatcherEvent.java
│ │ │ ├── server
│ │ │ │ ├── persistence
│ │ │ │ │ └── FileHeader.java
│ │ │ │ └── quorum
│ │ │ │ ├── LearnerInfo.java
│ │ │ │ ├── QuorumAuthPacket.java
│ │ │ │ └── QuorumPacket.java
│ │ │ ├── txn
│ │ │ │ ├── CheckVersionTxn.java
│ │ │ │ ├── CreateSessionTxn.java
│ │ │ │ ├── CreateTxn.java
│ │ │ │ ├── CreateTxnV0.java
│ │ │ │ ├── DeleteTxn.java
│ │ │ │ ├── ErrorTxn.java
│ │ │ │ ├── MultiTxn.java
│ │ │ │ ├── SetACLTxn.java
│ │ │ │ ├── SetDataTxn.java
│ │ │ │ ├── SetMaxChildrenTxn.java
│ │ │ │ ├── TxnHeader.java
│ │ │ │ └── Txn.java
│ │ │ └── version
│ │ │ └── Info.java
│ │ ├── lib
│ │ │ ├── cobertura
│ │ │ │ └── README.txt
│ │ │ ├── jdiff
│ │ │ │ ├── zookeeper_3.1.1.xml
│ │ │ │ └── zookeeper_3.4.12.xml
│ │ │ ├── jline-0.9.94.LICENSE.txt
│ │ │ ├── log4j-1.2.17.LICENSE.txt
│ │ │ └── slf4j-1.7.25.LICENSE.txt
│ │ ├── main
│ │ │ ├── org
│ │ │ │ └── apache
│ │ │ │ ├── jute
│ │ │ │ │ ├── BinaryInputArchive.java
│ │ │ │ │ ├── BinaryOutputArchive.java
│ │ │ │ │ ├── compiler
│ │ │ │ │ │ ├── CGenerator.java
│ │ │ │ │ │ ├── CppGenerator.java
│ │ │ │ │ │ ├── CSharpGenerator.java
│ │ │ │ │ │ ├── generated
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ ├── ParseException.java
│ │ │ │ │ │ │ ├── RccConstants.java
│ │ │ │ │ │ │ ├── Rcc.java
│ │ │ │ │ │ │ ├── rcc.jj
│ │ │ │ │ │ │ ├── RccTokenManager.java
│ │ │ │ │ │ │ ├── SimpleCharStream.java
│ │ │ │ │ │ │ ├── Token.java
│ │ │ │ │ │ │ └── TokenMgrError.java
│ │ │ │ │ │ ├── JavaGenerator.java
│ │ │ │ │ │ ├── JBoolean.java
│ │ │ │ │ │ ├── JBuffer.java
│ │ │ │ │ │ ├── JByte.java
│ │ │ │ │ │ ├── JCompType.java
│ │ │ │ │ │ ├── JDouble.java
│ │ │ │ │ │ ├── JField.java
│ │ │ │ │ │ ├── JFile.java
│ │ │ │ │ │ ├── JFloat.java
│ │ │ │ │ │ ├── JInt.java
│ │ │ │ │ │ ├── JLong.java
│ │ │ │ │ │ ├── JMap.java
│ │ │ │ │ │ ├── JRecord.java
│ │ │ │ │ │ ├── JString.java
│ │ │ │ │ │ ├── JType.java
│ │ │ │ │ │ ├── JVector.java
│ │ │ │ │ │ └── package.html
│ │ │ │ │ ├── CsvInputArchive.java
│ │ │ │ │ ├── CsvOutputArchive.java
│ │ │ │ │ ├── Index.java
│ │ │ │ │ ├── InputArchive.java
│ │ │ │ │ ├── OutputArchive.java
│ │ │ │ │ ├── package.html
│ │ │ │ │ ├── Record.java
│ │ │ │ │ ├── RecordReader.java
│ │ │ │ │ ├── RecordWriter.java
│ │ │ │ │ ├── Utils.java
│ │ │ │ │ ├── XmlInputArchive.java
│ │ │ │ │ └── XmlOutputArchive.java
│ │ │ │ └── zookeeper
│ │ │ │ ├── AsyncCallback.java
│ │ │ │ ├── client
│ │ │ │ │ ├── ConnectStringParser.java
│ │ │ │ │ ├── FourLetterWordMain.java
│ │ │ │ │ ├── HostProvider.java
│ │ │ │ │ ├── StaticHostProvider.java
│ │ │ │ │ └── ZooKeeperSaslClient.java
│ │ │ │ ├── ClientCnxn.java
│ │ │ │ ├── ClientCnxnSocket.java
│ │ │ │ ├── ClientCnxnSocketNIO.java
│ │ │ │ ├── ClientWatchManager.java
│ │ │ │ ├── common
│ │ │ │ │ ├── AtomicFileOutputStream.java
│ │ │ │ │ ├── IOUtils.java
│ │ │ │ │ ├── PathTrie.java
│ │ │ │ │ ├── PathUtils.java
│ │ │ │ │ └── Time.java
│ │ │ │ ├── CreateMode.java
│ │ │ │ ├── Environment.java
│ │ │ │ ├── JLineZNodeCompletor.java
│ │ │ │ ├── jmx
│ │ │ │ │ ├── CommonNames.java
│ │ │ │ │ ├── ManagedUtil.java
│ │ │ │ │ ├── MBeanRegistry.java
│ │ │ │ │ └── ZKMBeanInfo.java
│ │ │ │ ├── KeeperException.java
│ │ │ │ ├── Login.java
│ │ │ │ ├── MultiResponse.java
│ │ │ │ ├── MultiTransactionRecord.java
│ │ │ │ ├── Op.java
│ │ │ │ ├── OpResult.java
│ │ │ │ ├── Quotas.java
│ │ │ │ ├── SaslClientCallbackHandler.java
│ │ │ │ ├── server
│ │ │ │ │ ├── auth
│ │ │ │ │ │ ├── AuthenticationProvider.java
│ │ │ │ │ │ ├── DigestAuthenticationProvider.java
│ │ │ │ │ │ ├── DigestLoginModule.java
│ │ │ │ │ │ ├── IPAuthenticationProvider.java
│ │ │ │ │ │ ├── KerberosName.java
│ │ │ │ │ │ ├── ProviderRegistry.java
│ │ │ │ │ │ ├── SASLAuthenticationProvider.java
│ │ │ │ │ │ └── SaslServerCallbackHandler.java
│ │ │ │ │ ├── ByteBufferInputStream.java
│ │ │ │ │ ├── ByteBufferOutputStream.java
│ │ │ │ │ ├── ConnectionBean.java
│ │ │ │ │ ├── ConnectionMXBean.java
│ │ │ │ │ ├── DatadirCleanupManager.java
│ │ │ │ │ ├── DataNode.java
│ │ │ │ │ ├── DataTreeBean.java
│ │ │ │ │ ├── DataTree.java
│ │ │ │ │ ├── DataTreeMXBean.java
│ │ │ │ │ ├── ExitCode.java
│ │ │ │ │ ├── FinalRequestProcessor.java
│ │ │ │ │ ├── LogFormatter.java
│ │ │ │ │ ├── NettyServerCnxnFactory.java
│ │ │ │ │ ├── NettyServerCnxn.java
│ │ │ │ │ ├── NIOServerCnxnFactory.java
│ │ │ │ │ ├── NIOServerCnxn.java
│ │ │ │ │ ├── ObserverBean.java
│ │ │ │ │ ├── package.html
│ │ │ │ │ ├── persistence
│ │ │ │ │ │ ├── FileSnap.java
│ │ │ │ │ │ ├── FileTxnLog.java
│ │ │ │ │ │ ├── FileTxnSnapLog.java
│ │ │ │ │ │ ├── SnapShot.java
│ │ │ │ │ │ ├── TxnLog.java
│ │ │ │ │ │ └── Util.java
│ │ │ │ │ ├── PrepRequestProcessor.java
│ │ │ │ │ ├── PurgeTxnLog.java
│ │ │ │ │ ├── quorum
│ │ │ │ │ │ ├── AckRequestProcessor.java
│ │ │ │ │ │ ├── auth
│ │ │ │ │ │ │ ├── NullQuorumAuthLearner.java
│ │ │ │ │ │ │ ├── NullQuorumAuthServer.java
│ │ │ │ │ │ │ ├── QuorumAuth.java
│ │ │ │ │ │ │ ├── QuorumAuthLearner.java
│ │ │ │ │ │ │ ├── QuorumAuthServer.java
│ │ │ │ │ │ │ ├── SaslQuorumAuthLearner.java
│ │ │ │ │ │ │ ├── SaslQuorumAuthServer.java
│ │ │ │ │ │ │ └── SaslQuorumServerCallbackHandler.java
│ │ │ │ │ │ ├── AuthFastLeaderElection.java
│ │ │ │ │ │ ├── CommitProcessor.java
│ │ │ │ │ │ ├── Election.java
│ │ │ │ │ │ ├── FastLeaderElection.java
│ │ │ │ │ │ ├── flexible
│ │ │ │ │ │ │ ├── QuorumHierarchical.java
│ │ │ │ │ │ │ ├── QuorumMaj.java
│ │ │ │ │ │ │ └── QuorumVerifier.java
│ │ │ │ │ │ ├── FollowerBean.java
│ │ │ │ │ │ ├── Follower.java
│ │ │ │ │ │ ├── FollowerMXBean.java
│ │ │ │ │ │ ├── FollowerRequestProcessor.java
│ │ │ │ │ │ ├── FollowerZooKeeperServer.java
│ │ │ │ │ │ ├── LeaderBean.java
│ │ │ │ │ │ ├── LeaderElectionBean.java
│ │ │ │ │ │ ├── LeaderElection.java
│ │ │ │ │ │ ├── LeaderElectionMXBean.java
│ │ │ │ │ │ ├── Leader.java
│ │ │ │ │ │ ├── LeaderMXBean.java
│ │ │ │ │ │ ├── LeaderZooKeeperServer.java
│ │ │ │ │ │ ├── LearnerHandler.java
│ │ │ │ │ │ ├── Learner.java
│ │ │ │ │ │ ├── LearnerSessionTracker.java
│ │ │ │ │ │ ├── LearnerSyncRequest.java
│ │ │ │ │ │ ├── LearnerZooKeeperServer.java
│ │ │ │ │ │ ├── LocalPeerBean.java
│ │ │ │ │ │ ├── LocalPeerMXBean.java
│ │ │ │ │ │ ├── Observer.java
│ │ │ │ │ │ ├── ObserverMXBean.java
│ │ │ │ │ │ ├── ObserverRequestProcessor.java
│ │ │ │ │ │ ├── ObserverZooKeeperServer.java
│ │ │ │ │ │ ├── ProposalRequestProcessor.java
│ │ │ │ │ │ ├── QuorumBean.java
│ │ │ │ │ │ ├── QuorumCnxManager.java
│ │ │ │ │ │ ├── QuorumMXBean.java
│ │ │ │ │ │ ├── QuorumPeerConfig.java
│ │ │ │ │ │ ├── QuorumPeer.java
│ │ │ │ │ │ ├── QuorumPeerMain.java
│ │ │ │ │ │ ├── QuorumStats.java
│ │ │ │ │ │ ├── QuorumZooKeeperServer.java
│ │ │ │ │ │ ├── ReadOnlyBean.java
│ │ │ │ │ │ ├── ReadOnlyRequestProcessor.java
│ │ │ │ │ │ ├── ReadOnlyZooKeeperServer.java
│ │ │ │ │ │ ├── RemotePeerBean.java
│ │ │ │ │ │ ├── RemotePeerMXBean.java
│ │ │ │ │ │ ├── SendAckRequestProcessor.java
│ │ │ │ │ │ ├── ServerBean.java
│ │ │ │ │ │ ├── ServerMXBean.java
│ │ │ │ │ │ ├── StateSummary.java
│ │ │ │ │ │ └── Vote.java
│ │ │ │ │ ├── ReferenceCountedACLCache.java
│ │ │ │ │ ├── Request.java
│ │ │ │ │ ├── RequestProcessor.java
│ │ │ │ │ ├── ServerCnxnFactory.java
│ │ │ │ │ ├── ServerCnxn.java
│ │ │ │ │ ├── ServerConfig.java
│ │ │ │ │ ├── ServerStats.java
│ │ │ │ │ ├── SessionTrackerImpl.java
│ │ │ │ │ ├── SessionTracker.java
│ │ │ │ │ ├── SnapshotFormatter.java
│ │ │ │ │ ├── Stats.java
│ │ │ │ │ ├── SyncRequestProcessor.java
│ │ │ │ │ ├── TraceFormatter.java
│ │ │ │ │ ├── UnimplementedRequestProcessor.java
│ │ │ │ │ ├── upgrade
│ │ │ │ │ │ ├── DataNodeV1.java
│ │ │ │ │ │ ├── DataTreeV1.java
│ │ │ │ │ │ ├── UpgradeMain.java
│ │ │ │ │ │ ├── UpgradeSnapShot.java
│ │ │ │ │ │ └── UpgradeSnapShotV1.java
│ │ │ │ │ ├── util
│ │ │ │ │ │ ├── KerberosUtil.java
│ │ │ │ │ │ ├── OSMXBean.java
│ │ │ │ │ │ ├── Profiler.java
│ │ │ │ │ │ ├── SerializeUtils.java
│ │ │ │ │ │ └── ZxidUtils.java
│ │ │ │ │ ├── WatchManager.java
│ │ │ │ │ ├── ZKDatabase.java
│ │ │ │ │ ├── ZooKeeperCriticalThread.java
│ │ │ │ │ ├── ZooKeeperSaslServer.java
│ │ │ │ │ ├── ZooKeeperServerBean.java
│ │ │ │ │ ├── ZooKeeperServer.java
│ │ │ │ │ ├── ZooKeeperServerListenerImpl.java
│ │ │ │ │ ├── ZooKeeperServerListener.java
│ │ │ │ │ ├── ZooKeeperServerMain.java
│ │ │ │ │ ├── ZooKeeperServerMXBean.java
│ │ │ │ │ ├── ZooKeeperServerShutdownHandler.java
│ │ │ │ │ ├── ZooKeeperThread.java
│ │ │ │ │ └── ZooTrace.java
│ │ │ │ ├── ServerAdminClient.java
│ │ │ │ ├── Shell.java
│ │ │ │ ├── StatsTrack.java
│ │ │ │ ├── Transaction.java
│ │ │ │ ├── util
│ │ │ │ │ └── SecurityUtils.java
│ │ │ │ ├── version
│ │ │ │ │ └── util
│ │ │ │ │ └── VerGen.java
│ │ │ │ ├── Version.java
│ │ │ │ ├── WatchedEvent.java
│ │ │ │ ├── Watcher.java
│ │ │ │ ├── ZKUtil.java
│ │ │ │ ├── ZooDefs.java
│ │ │ │ ├── ZooKeeper.java
│ │ │ │ └── ZooKeeperMain.java
│ │ │ └── overview.html
│ │ ├── OldChangeLog
│ │ ├── systest
│ │ │ ├── org
│ │ │ │ └── apache
│ │ │ │ └── zookeeper
│ │ │ │ └── test
│ │ │ │ └── system
│ │ │ │ ├── BaseSysTest.java
│ │ │ │ ├── DuplicateNameException.java
│ │ │ │ ├── GenerateLoad.java
│ │ │ │ ├── InstanceContainer.java
│ │ │ │ ├── Instance.java
│ │ │ │ ├── InstanceManager.java
│ │ │ │ ├── NoAssignmentException.java
│ │ │ │ ├── NoAvailableContainers.java
│ │ │ │ ├── QuorumPeerInstance.java
│ │ │ │ ├── SimpleClient.java
│ │ │ │ └── SimpleSysTest.java
│ │ │ └── README.txt
│ │ └── test
│ │ ├── bin
│ │ │ ├── check_compatibility.py
│ │ │ ├── test-github-pr.sh
│ │ │ ├── test-patch.properties
│ │ │ └── test-patch.sh
│ │ ├── checkstyle-noframes-sorted.xsl
│ │ ├── checkstyle.xml
│ │ ├── config
│ │ │ └── findbugsExcludeFile.xml
│ │ ├── data
│ │ │ ├── buffersize
│ │ │ │ ├── create
│ │ │ │ │ └── version-2
│ │ │ │ │ ├── log.1
│ │ │ │ │ └── snapshot.0
│ │ │ │ ├── set
│ │ │ │ │ └── version-2
│ │ │ │ │ ├── log.1
│ │ │ │ │ └── snapshot.0
│ │ │ │ └── snapshot
│ │ │ │ └── version-2
│ │ │ │ ├── log.1
│ │ │ │ ├── snapshot.0
│ │ │ │ └── snapshot.2
│ │ │ ├── invalidsnap
│ │ │ │ └── version-2
│ │ │ │ ├── log.1
│ │ │ │ ├── log.274
│ │ │ │ ├── log.63b
│ │ │ │ ├── snapshot.0
│ │ │ │ ├── snapshot.272
│ │ │ │ ├── snapshot.273
│ │ │ │ ├── snapshot.639
│ │ │ │ └── snapshot.83f
│ │ │ ├── kerberos
│ │ │ │ ├── minikdc-krb5.conf
│ │ │ │ └── minikdc.ldiff
│ │ │ └── upgrade
│ │ │ ├── log.100000001
│ │ │ ├── log.100001bf0
│ │ │ ├── snapshot.100000000
│ │ │ └── snapshot.100001bec
│ │ └── org
│ │ └── apache
│ │ ├── jute
│ │ │ └── BinaryInputArchiveTest.java
│ │ └── zookeeper
│ │ ├── ClientReconnectTest.java
│ │ ├── common
│ │ │ └── TimeTest.java
│ │ ├── JaasConfiguration.java
│ │ ├── JUnit4ZKTestRunner.java
│ │ ├── MockPacket.java
│ │ ├── MultiResponseTest.java
│ │ ├── MultiTransactionRecordTest.java
│ │ ├── PortAssignment.java
│ │ ├── SaslAuthTest.java
│ │ ├── server
│ │ │ ├── CRCTest.java
│ │ │ ├── DatadirCleanupManagerTest.java
│ │ │ ├── DataNodeTest.java
│ │ │ ├── DataTreeTest.java
│ │ │ ├── DataTreeUnitTest.java
│ │ │ ├── DeserializationPerfTest.java
│ │ │ ├── InvalidSnapCountTest.java
│ │ │ ├── InvalidSnapshotTest.java
│ │ │ ├── MockNIOServerCnxn.java
│ │ │ ├── NettyServerCnxnTest.java
│ │ │ ├── NIOServerCnxnTest.java
│ │ │ ├── persistence
│ │ │ │ ├── FileTxnLogTest.java
│ │ │ │ └── FileTxnSnapLogTest.java
│ │ │ ├── PrepRequestProcessorTest.java
│ │ │ ├── PurgeTxnTest.java
│ │ │ ├── quorum
│ │ │ │ ├── auth
│ │ │ │ │ ├── KerberosSecurityTestcase.java
│ │ │ │ │ ├── KerberosTestUtils.java
│ │ │ │ │ ├── MiniKdc.java
│ │ │ │ │ ├── MiniKdcTest.java
│ │ │ │ │ ├── QuorumAuthTestBase.java
│ │ │ │ │ ├── QuorumAuthUpgradeTest.java
│ │ │ │ │ ├── QuorumDigestAuthTest.java
│ │ │ │ │ ├── QuorumKerberosAuthTest.java
│ │ │ │ │ └── QuorumKerberosHostBasedAuthTest.java
│ │ │ │ ├── CnxManagerTest.java
│ │ │ │ ├── EphemeralNodeDeletionTest.java
│ │ │ │ ├── FLEBackwardElectionRoundTest.java
│ │ │ │ ├── FLECompatibilityTest.java
│ │ │ │ ├── FLEDontCareTest.java
│ │ │ │ ├── FLELostMessageTest.java
│ │ │ │ ├── FLETestUtils.java
│ │ │ │ ├── LearnerTest.java
│ │ │ │ ├── QuorumCnxManagerTest.java
│ │ │ │ ├── QuorumPeerMainTest.java
│ │ │ │ ├── QuorumPeerTestBase.java
│ │ │ │ ├── WatchLeakTest.java
│ │ │ │ └── Zab1_0Test.java
│ │ │ ├── ReferenceCountedACLCacheTest.java
│ │ │ ├── SerializationPerfTest.java
│ │ │ ├── ServerCnxnFactoryAccessor.java
│ │ │ ├── SessionTrackerTest.java
│ │ │ ├── ToStringTest.java
│ │ │ ├── util
│ │ │ │ └── PortForwarder.java
│ │ │ ├── ZooKeeperServerMainTest.java
│ │ │ ├── ZooKeeperServerStartupTest.java
│ │ │ ├── ZooKeeperServerTest.java
│ │ │ ├── ZooKeeperThreadTest.java
│ │ │ └── ZxidRolloverTest.java
│ │ ├── ServerConfigTest.java
│ │ ├── test
│ │ │ ├── ACLCountTest.java
│ │ │ ├── ACLRootTest.java
│ │ │ ├── ACLTest.java
│ │ │ ├── AsyncHammerTest.java
│ │ │ ├── AsyncOps.java
│ │ │ ├── AsyncOpsTest.java
│ │ │ ├── AsyncTest.java
│ │ │ ├── AtomicFileOutputStreamTest.java
│ │ │ ├── AuthTest.java
│ │ │ ├── BufferSizeTest.java
│ │ │ ├── ChrootAsyncTest.java
│ │ │ ├── ChrootClientTest.java
│ │ │ ├── ChrootTest.java
│ │ │ ├── ClientBase.java
│ │ │ ├── ClientHammerTest.java
│ │ │ ├── ClientPortBindTest.java
│ │ │ ├── ClientRetry.java
│ │ │ ├── ClientTest.java
│ │ │ ├── ConnectStringParserTest.java
│ │ │ ├── CreateModeTest.java
│ │ │ ├── DisconnectableZooKeeper.java
│ │ │ ├── DisconnectedWatcherTest.java
│ │ │ ├── EventTypeTest.java
│ │ │ ├── FLENewEpochTest.java
│ │ │ ├── FLEPredicateTest.java
│ │ │ ├── FLERestartTest.java
│ │ │ ├── FLETest.java
│ │ │ ├── FLEZeroWeightTest.java
│ │ │ ├── FollowerResyncConcurrencyTest.java
│ │ │ ├── FollowerTest.java
│ │ │ ├── FourLetterWordsQuorumTest.java
│ │ │ ├── FourLetterWordsTest.java
│ │ │ ├── FourLetterWordsWhiteListTest.java
│ │ │ ├── GetChildren2Test.java
│ │ │ ├── HierarchicalQuorumTest.java
│ │ │ ├── IntegrityCheck.java
│ │ │ ├── InvalidSnapshotTest.java
│ │ │ ├── JMXEnv.java
│ │ │ ├── KeeperStateTest.java
│ │ │ ├── LENonTerminateTest.java
│ │ │ ├── LETest.java
│ │ │ ├── LoadFromLogNoServerTest.java
│ │ │ ├── LoadFromLogTest.java
│ │ │ ├── MaxCnxnsTest.java
│ │ │ ├── MultiTransactionTest.java
│ │ │ ├── NioNettySuiteBase.java
│ │ │ ├── NioNettySuiteHammerTest.java
│ │ │ ├── NioNettySuiteTest.java
│ │ │ ├── NonRecoverableErrorTest.java
│ │ │ ├── NullDataTest.java
│ │ │ ├── ObserverHierarchicalQuorumTest.java
│ │ │ ├── ObserverLETest.java
│ │ │ ├── ObserverQuorumHammerTest.java
│ │ │ ├── ObserverTest.java
│ │ │ ├── OOMTest.java
│ │ │ ├── OSMXBeanTest.java
│ │ │ ├── QuorumBase.java
│ │ │ ├── QuorumHammerTest.java
│ │ │ ├── QuorumQuotaTest.java
│ │ │ ├── QuorumTest.java
│ │ │ ├── QuorumUtil.java
│ │ │ ├── QuorumZxidSyncTest.java
│ │ │ ├── ReadOnlyModeTest.java
│ │ │ ├── RecoveryTest.java
│ │ │ ├── RepeatStartupTest.java
│ │ │ ├── RestoreCommittedLogTest.java
│ │ │ ├── SaslAuthDesignatedClientTest.java
│ │ │ ├── SaslAuthDesignatedServerTest.java
│ │ │ ├── SaslAuthFailDesignatedClientTest.java
│ │ │ ├── SaslAuthFailNotifyTest.java
│ │ │ ├── SaslAuthFailTest.java
│ │ │ ├── SaslAuthMissingClientConfigTest.java
│ │ │ ├── SaslClientTest.java
│ │ │ ├── SessionInvalidationTest.java
│ │ │ ├── SessionTest.java
│ │ │ ├── SledgeHammer.java
│ │ │ ├── StandaloneTest.java
│ │ │ ├── StaticHostProviderTest.java
│ │ │ ├── StatTest.java
│ │ │ ├── SyncCallTest.java
│ │ │ ├── TestHammer.java
│ │ │ ├── TestUtils.java
│ │ │ ├── TruncateTest.java
│ │ │ ├── UpgradeTest.java
│ │ │ ├── WatchedEventTest.java
│ │ │ ├── WatcherFuncTest.java
│ │ │ ├── WatcherTest.java
│ │ │ ├── WatchEventWhenAutoReset.java
│ │ │ ├── ZkDatabaseCorruptionTest.java
│ │ │ ├── ZooKeeperQuotaTest.java
│ │ │ └── ZooKeeperTestClient.java
│ │ ├── TestableZooKeeper.java
│ │ ├── VerGenTest.java
│ │ ├── ZKTestCase.java
│ │ └── ZooKeeperTest.java
│ ├── lastRevision.bat
│ ├── lastRevision.sh
│ ├── LICENSE.txt
│ ├── NOTICE.txt
│ ├── packages
│ │ ├── deb
│ │ │ ├── init.d
│ │ │ │ └── zookeeper
│ │ │ └── zookeeper.control
│ │ │ ├── conffile
│ │ │ ├── control
│ │ │ ├── postinst
│ │ │ ├── postrm
│ │ │ ├── preinst
│ │ │ └── prerm
│ │ ├── rpm
│ │ │ ├── init.d
│ │ │ │ └── zookeeper
│ │ │ └── spec
│ │ │ └── zookeeper.spec
│ │ ├── templates
│ │ │ └── conf
│ │ │ └── zookeeper-env.sh
│ │ └── update-zookeeper-env.sh
│ ├── pom.template
│ ├── recipes
│ │ ├── build-recipes.xml
│ │ ├── build.xml
│ │ ├── election
│ │ │ ├── build.xml
│ │ │ ├── README.txt
│ │ │ ├── src
│ │ │ │ └── java
│ │ │ │ └── org
│ │ │ │ └── apache
│ │ │ │ └── zookeeper
│ │ │ │ └── recipes
│ │ │ │ └── leader
│ │ │ │ ├── LeaderElectionAware.java
│ │ │ │ ├── LeaderElectionSupport.java
│ │ │ │ └── LeaderOffer.java
│ │ │ └── test
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── recipes
│ │ │ └── leader
│ │ │ └── LeaderElectionSupportTest.java
│ │ ├── lock
│ │ │ ├── build.xml
│ │ │ ├── README.txt
│ │ │ ├── src
│ │ │ │ ├── c
│ │ │ │ │ ├── acinclude.m4
│ │ │ │ │ ├── aminclude.am
│ │ │ │ │ ├── c-doc.Doxyfile
│ │ │ │ │ ├── configure.ac
│ │ │ │ │ ├── include
│ │ │ │ │ │ └── zoo_lock.h
│ │ │ │ │ ├── INSTALL
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── Makefile.am
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── src
│ │ │ │ │ │ └── zoo_lock.c
│ │ │ │ │ └── tests
│ │ │ │ │ ├── TestClient.cc
│ │ │ │ │ ├── TestDriver.cc
│ │ │ │ │ ├── Util.cc
│ │ │ │ │ ├── Util.h
│ │ │ │ │ └── zkServer.sh
│ │ │ │ └── java
│ │ │ │ └── org
│ │ │ │ └── apache
│ │ │ │ └── zookeeper
│ │ │ │ └── recipes
│ │ │ │ └── lock
│ │ │ │ ├── LockListener.java
│ │ │ │ ├── ProtocolSupport.java
│ │ │ │ ├── WriteLock.java
│ │ │ │ ├── ZNodeName.java
│ │ │ │ └── ZooKeeperOperation.java
│ │ │ └── test
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── recipes
│ │ │ └── lock
│ │ │ ├── WriteLockTest.java
│ │ │ └── ZNodeNameTest.java
│ │ ├── queue
│ │ │ ├── build.xml
│ │ │ ├── README.txt
│ │ │ ├── src
│ │ │ │ ├── c
│ │ │ │ │ ├── acinclude.m4
│ │ │ │ │ ├── aminclude.am
│ │ │ │ │ ├── c-doc.Doxyfile
│ │ │ │ │ ├── configure.ac
│ │ │ │ │ ├── include
│ │ │ │ │ │ └── zoo_queue.h
│ │ │ │ │ ├── INSTALL
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── Makefile.am
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── src
│ │ │ │ │ │ └── zoo_queue.c
│ │ │ │ │ └── tests
│ │ │ │ │ ├── TestClient.cc
│ │ │ │ │ ├── TestDriver.cc
│ │ │ │ │ ├── Util.cc
│ │ │ │ │ ├── Util.h
│ │ │ │ │ └── zkServer.sh
│ │ │ │ └── java
│ │ │ │ └── org
│ │ │ │ └── apache
│ │ │ │ └── zookeeper
│ │ │ │ └── recipes
│ │ │ │ └── queue
│ │ │ │ └── DistributedQueue.java
│ │ │ └── test
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── zookeeper
│ │ │ └── recipes
│ │ │ └── queue
│ │ │ └── DistributedQueueTest.java
│ │ └── README.txt
│ └── zookeeper.jute
├── zookeeper-3.4.12.jar
├── zookeeper-3.4.12.jar.asc
├── zookeeper-3.4.12.jar.md5
└── zookeeper-3.4.12.jar.sha1
389 directories, 1627 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论