[ https://issues.apache.org/jira/browse/ZOOKEEPER-1218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13255785#comment-13255785 ]
Hadoop QA commented on ZOOKEEPER-1218: -------------------------------------- +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12522983/zktreeutil.patch against trunk revision 1326029. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 51 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1038//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1038//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1038//console This message is automatically generated. > zktreeutil tool enhancement > --------------------------- > > Key: ZOOKEEPER-1218 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1218 > Project: ZooKeeper > Issue Type: Improvement > Components: contrib > Affects Versions: 3.4.0 > Environment: GNU/Linux i386/i686/x64_84 > Reporter: Anirban Roy > Assignee: Anirban Roy > Labels: patch > Fix For: 3.4.0 > > Attachments: zktreeutil.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > ============================================ > zktreeutil - Zookeeper Tree Data Utility > Author: Anirban Roy (r_anirban at yahoo.com) > Organization: Yahoo Inc. > ============================================ > zktreeutil program is intended to manage and manipulate zk-tree data quickly, > efficiently and with ease. The utility operates on free-form ZK-tree and hence > can be used for any cluster managed by Zookeeper. Here are the basic > functionalities - > EXPORT: The whole/partial ZK-tree is exported into a XML file. This helps in > capturing a current snapshot of the data for backup/analysis. For a subtree > export, one need to specify the path to the ZK-subtree with proper option. > Since Zookeeper store binary data against znode, the data dumped on xml file > is based64 encoded with an attribute "encode=true". Optionally one may specify > not to encode data with --noencode option if data stored on zookeeper is > guaranteed to be text data. > IMPORT: The ZK (sub)tree can be imported from XML into ZK cluster. This helps > in > priming the new ZK cluster with static configuration. The import can be > non-intrusive by making only additions and modifications in the existing data. > One may optionally delete existing (sub)tree before importing the new data > with --force option. The znodes which carries an attribute "encode=true" will > be > decoded and written to zookeeper. > DIFF: Creates a diff between live ZK data vs data saved in XML file. Diff can > ignore some ZK-tree branches (possibly dynamic data) on reading the optional > ignore flag from XML file. Taking diff on a ZK-subtree achieved by providing > path to ZK-subtree with diff command. > UPDATE: Make the incremental changes into the live ZK-tree from saved XML, > essentially after running the diff. > DUMP: Dumps the ZK (sub)tree on the standard output device reading either from > live ZK server or XML file. > The exported ZK data into XML file can be shortened by only keeping the static > ZK nodes which are required to prime an application. The dynamic zk nodes > (created on-the-fly) can be ignored by setting a 'ignore' attribute at the > root > node of the dynamic subtree (see tests/zk_sample.xml), possibly deleting all > inner ZK nodes under that. Once ignored, the whole subtree is ignored during > DIFF, UPDATE and WRITE. > Pre-requisites > -------------- > 1. Linux system with 2.6.X kernel. > 2. Zookeeper C client library (locally built at ../../c/.libs) >= 3.X.X > 3. Development build libraries (rpm packages): > a. boost-devel >= 1.32.0 > b. libxml2-devel >= 2.6.26 > c. log4cxx-devel >= 0.9.7-7 > d. openssl-devel >= 0.9.7a > e. cppunit >= 1.12.0-2 > Build instructions > ------------------ > 1. cd into this directory > 2. autoreconf -if > 3. ./configure # Configure the build env > 4. make # Build the tool > 5. make check # Run unit-tests > 6. ./src/zktreeutil --help # Usage help > Testing and usage of zktreeutil > -------------------------------- > 1. Run Zookeeper server locally on port 2181 > 2. export LD_LIBRARY_PATH=../../c/.libs/:/usr/local/lib/ > 3. ./src/zktreeutil --help > # show help > 4. ./src/zktreeutil --zookeeper=localhost:2181 --import > --xmlfile=tests/zkdata_test.xml 2>/dev/null # import sample ZK > tree > 5. ./src/zktreeutil --zookeeper=localhost:2181 --dump > --path=/myapp/version-1.0 2>/dev/null # dump Zk > subtree > 5. ./src/zktreeutil --zookeeper=localhost:2181 --dump --depth=3 2>/dev/null > # dump Zk tree till certain depth > 6. ./src/zktreeutil --xmlfile=zkdata_test.xml -D 2>/dev/null > # dump the xml data > 7. Change zkdata_test.xml with adding/deleting/chaging some nodes > 8. ./src/zktreeutil -z localhost:2181 -F -x zkdata_test.xml -p > /myapp/version-1.0/configuration 2>/dev/null # take a diff of changes > 9. ./src/zktreeutil -z localhost:2181 -E --noencode 2>/dev/null > > zk_sample2.xml # export the mofied ZK tree > 10. ./src/zktreeutil -z localhost:2181 -U -x zkdata_test.xml -p > /myapp/version-1.0/distributions 2>/dev/null # update with incr. > changes > 11. ./src/zktreeutil --zookeeper=localhost:2181 --import --force > --xmlfile=zk_sample2.xml 2>/dev/null # re-prime the ZK tree > For more details of usage, please see the unit tests. Hope this helps. Please > reach out to me for any bugs, comments or suggestions. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira