ZooKeeper 3.2.0 Release Notes
These release notes include new developer and user facing incompatibilities, features, and major improvements.
Note that there is a user visible semantic change to an existing API in this release: ZOOKEEPER-444 "perms definition for PERMS_ALL differ in C and java", a bug fix which required a change to the JAVA definition of ALL to include ADMIN.
See 3.0 release notes and migration instructions if you are upgrading from version 2 of ZooKeeper (SourceForge) to version 3 or later.
Changes Since ZooKeeper 3.1
Issue | Notes |
---|---|
Incompatibilities | |
ZOOKEEPER-444 | perms definition for PERMS_ALL differ in C and java |
New Feature | |
ZOOKEEPER-29 | Flexible quorums |
ZOOKEEPER-36 | REST access to ZooKeeper |
ZOOKEEPER-78 | added a high level protocol/feature - for easy Leader Election or exclusive Write Lock creation |
ZOOKEEPER-237 | Add a Chroot request |
ZOOKEEPER-361 | integrate cppunit testing as part of hudson patch process. |
ZOOKEEPER-378 | contribution of Net::ZooKeeper Perl module |
ZOOKEEPER-383 | Asynchronous version of createLedger() |
ZOOKEEPER-395 | Python bindings |
Task | |
ZOOKEEPER-440 | update the performance documentation in forrest |
Bug | |
ZOOKEEPER-94 | JMX tests are needed to verify that the JMX MBeans work properly |
ZOOKEEPER-192 | trailing whitespace in config file can cause number format exceptions |
ZOOKEEPER-196 | doxygen comment for state argument of watcher_fn typedef and implementation differ ("...one of the *_STATE constants, otherwise -1") |
ZOOKEEPER-244 | AsyncOpsTest fails when running consecutively |
ZOOKEEPER-273 | Zookeeper c client build should not depend on CPPUNIT |
ZOOKEEPER-281 | autoreconf fails for /zookeeper-3.0.1/src/c/ |
ZOOKEEPER-298 | some excecutables (scripts typ.) are not marked as such in tar generated by "ant tar" |
ZOOKEEPER-299 | server startup scripts fail on a mac. |
ZOOKEEPER-300 | zk jmx code is calling printStackTrace when creating bean name (should not be) |
ZOOKEEPER-303 | Bin scripts don't work on Mac |
ZOOKEEPER-309 | core dump using zoo_get_acl() |
ZOOKEEPER-318 | remove locking in zk_hashtable.c or add locking in collect_keys() |
ZOOKEEPER-319 | add locking around auth info in zhandle_t |
ZOOKEEPER-320 | call auth completion in free_completions() |
ZOOKEEPER-325 | FLENewEpoch test fails. |
ZOOKEEPER-326 | standalone server ignores tickTime configuration |
ZOOKEEPER-330 | zookeeper standalone server does not startup with just a port and datadir. |
ZOOKEEPER-332 | c client issues (memory leaks) reported by valgrind |
ZOOKEEPER-333 | helgrind thread issues identified in mt c client code |
ZOOKEEPER-334 | bookkeeper benchmark (testclient.java) has compiling errros. |
ZOOKEEPER-340 | binaryinputarchive throws out runtimeexceptions for unreasonable length datastructures. |
ZOOKEEPER-341 | regression in QuorumPeerMain, tickTime from config is lost, cannot start quorum |
ZOOKEEPER-344 | doIO in NioServerCnxn: Exception causing close of session : cause is "read error" |
ZOOKEEPER-346 | remove the kill command fro mthe client port. |
ZOOKEEPER-347 | zkfuse uses non-standard String |
ZOOKEEPER-348 | Creating node with path ending in "/" with sequence flag set |
ZOOKEEPER-355 | make validatePath non public in Zookeeper client api. |
ZOOKEEPER-360 | WeakHashMap in Bookie.java causes NPE |
ZOOKEEPER-362 | Issues with FLENewEpochTest |
ZOOKEEPER-363 | NPE when recovering ledger with no hint |
ZOOKEEPER-365 | javadoc is wrong for setLast in LedgerHandle |
ZOOKEEPER-367 | RecoveryTest failure - "unreasonable length" IOException |
ZOOKEEPER-370 | Fix critical problems reported by findbugs |
ZOOKEEPER-374 | Uninitialized struct variable in C causes warning which is treated as an error |
ZOOKEEPER-375 | zoo_add_auth only retains most recent auth on re-sync |
ZOOKEEPER-376 | ant test target re-compiles cppunit code every time |
ZOOKEEPER-377 | running ant cppunit tests, a failure still results in BUILD SUCCESSFUL |
ZOOKEEPER-379 | cppunit tests failed during hudson patch tests |
ZOOKEEPER-382 | zookeeper cpp tests fails on 64 bit machines with gcc 4.1.2 |
ZOOKEEPER-384 | keeper exceptions missing path |
ZOOKEEPER-385 | crctest failed on hudson patch test |
ZOOKEEPER-391 | bookeeper mainline code should not be calling printStackTrace |
ZOOKEEPER-396 | race condition in zookeeper client library between zookeeper_close and zoo_synchronous api |
ZOOKEEPER-400 | Issues with procedure to close ledger |
ZOOKEEPER-402 | zookeeper c library segfaults on data for a node in zookeeper being null. |
ZOOKEEPER-404 | nightly build failed on hudson. |
ZOOKEEPER-405 | nullpointer exception in zookeeper java shell. |
ZOOKEEPER-411 | Building zookeeper fails on RHEL 5 64 bit during test-cppunit |
ZOOKEEPER-415 | zookeeper c tests hang. |
ZOOKEEPER-416 | BookKeeper jar includes unnecessary files |
ZOOKEEPER-417 | stray message problem when changing servers |
ZOOKEEPER-419 | Reference counting bug in Python bindings causes abort errors |
ZOOKEEPER-421 | zkpython run_tests.sh is missing #! |
ZOOKEEPER-427 | ZooKeeper server unexpectedly high CPU utilisation |
ZOOKEEPER-433 | getacl on root znode (/) fails |
ZOOKEEPER-435 | allow "super" admin digest based auth to be configurable |
ZOOKEEPER-438 | addauth fails to register auth on new client that's not yet connected |
ZOOKEEPER-446 | some traces of the host auth scheme left |
ZOOKEEPER-448 | png files do nto work with forrest. |
ZOOKEEPER-449 | sesssionmoved in java code and ZCLOSING in C have the same value. |
ZOOKEEPER-450 | emphemeral cleanup not happening with session timeout |
ZOOKEEPER-452 | zookeeper performance graph should have percentage of reads rather than percentage of writes - zkperfRW-3.2.jpg |
ZOOKEEPER-453 | Worker is not removed in QuorumCnxManager upon crash |
ZOOKEEPER-454 | allow compilation with jdk1.5 |
ZOOKEEPER-455 | zookeeper c client crashes with chroot specified in the string. |
Improvement | |
ZOOKEEPER-60 | Get cppunit tests running as part of Hudson CI |
ZOOKEEPER-148 | add jdiff support to zookeeper release process |
ZOOKEEPER-264 | docs should include a state transition diagram for client state |
ZOOKEEPER-274 | Document options to connect Jconsole remotely |
ZOOKEEPER-279 | Allow specialization of quorum config parsing (e.g. variable expansion in zoo.cfg) |
ZOOKEEPER-288 | Cleanup and fixes to BookKeeper |
ZOOKEEPER-292 | commit configure scripts (autotools) to svn for c projects and include in release |
ZOOKEEPER-305 | Replace timers with semaphores in FLENewEpochTest |
ZOOKEEPER-306 | Add BookKeeper documentation |
ZOOKEEPER-307 | Log exception stack traces |
ZOOKEEPER-314 | add wiki docs for bookeeper. |
ZOOKEEPER-315 | add forrest docs for bookkeeper. |
ZOOKEEPER-327 | document effects (latency) of storing large amounts of data in znodes |
ZOOKEEPER-329 | document how to integrate 3rd party authentication into ZK server ACLs |
ZOOKEEPER-336 | single bad client can cause server to stop accepting connections |
ZOOKEEPER-337 | improve logging in leader election lookForLeader method when address resolution fails |
ZOOKEEPER-342 | improve configuration code - remove static config and use java properties |
ZOOKEEPER-343 | add tests that specifically verify the zkmain and qpmain classes |
ZOOKEEPER-345 | the CLIs should allow addAuth to be invoked |
ZOOKEEPER-349 | to automate patch testing |
ZOOKEEPER-356 | Masking bookie failure during writes to a ledger |
ZOOKEEPER-358 | Throw exception when ledger does not exist |
ZOOKEEPER-371 | to implement jdiff |
ZOOKEEPER-373 | One thread per bookie |
ZOOKEEPER-380 | bookkeeper should have a streaming api so that its easier to store checpoints/snapshots in bookkeeper. |
ZOOKEEPER-381 | The ZooKeeper front page tells us nothing about what ZooKeeper does |
ZOOKEEPER-386 | improve java cli shell |
ZOOKEEPER-389 | add help/usage to the c shell cli.c |
ZOOKEEPER-392 | Change log4j properties |
ZOOKEEPER-403 | cleanup javac compiler warnings |
ZOOKEEPER-406 | address all findbugs warnings in mainline java code |
ZOOKEEPER-422 | Java CLI should support ephemeral and sequential node creation |
ZOOKEEPER-428 | logging should be makred as warn rathen than error in NIOServerCnxn. |
ZOOKEEPER-431 | Expose methods to ease ZK integration |
ZOOKEEPER-432 | Various improvements to zkpython bindings |
ZOOKEEPER-434 | the java shell should indicate connection status on command prompt |
ZOOKEEPER-437 | Variety of Documentation Updates |
ZOOKEEPER-443 | trace logging in watch notification not wrapped with istraceneabled - inefficient |
Subtask | |
ZOOKEEPER-350 | to run rats for releaseaudit |
ZOOKEEPER-351 | to run checkstyle |
ZOOKEEPER-352 | to add standard ant targets required by test-patch.sh script |
ZOOKEEPER-353 | javadoc warnings needs to be fixed |
ZOOKEEPER-354 | to fix javadoc warning in the source files |
ZOOKEEPER-407 | address all findbugs warnings in org.apache.zookeeper.server.quorum.** packages |
ZOOKEEPER-408 | address all findbugs warnings in persistence classes |
ZOOKEEPER-409 | address all findbugs warnings in jute related classes |
ZOOKEEPER-410 | address all findbugs warnings in client/server classes |