Apache > Hadoop > ZooKeeper
 

ZooKeeper 3.3.0 Release Notes

These release notes include new developer and user facing incompatibilities, features, and major improvements.

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.2

Changes Since ZooKeeper 3.2
Changes Since ZooKeeper 3.2
Issue Notes
Sub-task
ZOOKEEPER-397 mainline tests conversion
Bug
ZOOKEEPER-3 syncLimit has slightly different comments in the class header, and > inline with the variable.
ZOOKEEPER-59 Synchronized block in NIOServerCnxn
ZOOKEEPER-86 intermittent test failure of org.apache.zookeeper.test.AsyncTest
ZOOKEEPER-121 SyncRequestProcessor is not closing log stream during shutdown
ZOOKEEPER-287 high cpu utilization caused by nioserver factory thread
ZOOKEEPER-413 two flaws need addressing in the c tests that can cause false positive failures
ZOOKEEPER-420 build/test should not require install in zkpython
ZOOKEEPER-457 Make ZookeeperMain public, support for HBase (and other) embedded clients
ZOOKEEPER-460 bad testRetry in cppunit tests (hudson failure)
ZOOKEEPER-466 crash on zookeeper_close() when using auth with empty cert
ZOOKEEPER-467 Change log level in BookieHandle
ZOOKEEPER-468 avoid compile warning in send_auth_info()
ZOOKEEPER-469 make sure CPPUNIT_CFLAGS isn't overwritten
ZOOKEEPER-470 include unistd.h for sleep() in c tests
ZOOKEEPER-475 FLENewEpochTest failed on nightly builds.
ZOOKEEPER-477 zkCleanup.sh is flaky
ZOOKEEPER-479 QuorumHierarchical does not count groups correctly
ZOOKEEPER-480 FLE should perform leader check when node is not leading and add vote of follower
ZOOKEEPER-481 Add lastMessageSent to QuorumCnxManager
ZOOKEEPER-482 ignore sigpipe in testRetry to avoid silent immediate failure
ZOOKEEPER-483 ZK fataled on me, and ugly
ZOOKEEPER-484 Clients get SESSION MOVED exception when switching from follower to a leader.
ZOOKEEPER-485 need ops documentation that details supervision of ZK server processes
ZOOKEEPER-487 setdata on root (/) crashes the servers.
ZOOKEEPER-489 findbugs on hudson.zones.a.o has jumped way up (2k+)
ZOOKEEPER-490 the java docs for session creation are misleading/incomplete
ZOOKEEPER-491 Prevent zero-weight servers from being elected
ZOOKEEPER-493 patch for command line setquota
ZOOKEEPER-495 c client logs an invalid error when zookeeper_init is called with chroot
ZOOKEEPER-498 Unending Leader Elections : WAN configuration
ZOOKEEPER-499 electionAlg should default to FLE (3) - regression
ZOOKEEPER-501 CnxManagerTest failed on hudson
ZOOKEEPER-502 bookkeeper create calls completion too many times
ZOOKEEPER-503 race condition in asynchronous create
ZOOKEEPER-504 ClassCastException in LedgerManagementProcessor
ZOOKEEPER-505 testAsyncCreateClose is badly broken
ZOOKEEPER-508 proposals and commits for DIFF and Truncate messages from the leader to followers is buggy.
ZOOKEEPER-509 Truncating of logs does not work right at the followers.
ZOOKEEPER-510 zkpython lumps all exceptions as IOError, needs specialized exceptions for KeeperException types
ZOOKEEPER-511 bad error handling in FollowerHandler.sendPackets
ZOOKEEPER-512 FLE election fails to elect leader
ZOOKEEPER-514 test failure on trunk in testCnxManager - NPE
ZOOKEEPER-519 Followerhandler should close the socket if it gets an exception on a write.
ZOOKEEPER-524 DBSizeTest is not really testing anything
ZOOKEEPER-527 hudson trunk failure in quota test
ZOOKEEPER-528 c client exists() call with watch on large number of nodes (>100k) causes connection loss
ZOOKEEPER-530 Memory corruption: Zookeeper c client IPv6 implementation does not honor struct sockaddr_in6 size
ZOOKEEPER-531 Hudson trunk failure in heirarchical quorum test (interrupt problem)
ZOOKEEPER-532 java compiler should be target Java 1.5
ZOOKEEPER-533 ant error running clean twice
ZOOKEEPER-534 The test target in contib/bookkeeper does not depend on jar target.
ZOOKEEPER-535 ivy task does not enjoy being defined twice (build error)
ZOOKEEPER-537 The zookeeper jar includes the java source files
ZOOKEEPER-538 zookeeper.async causes python to segfault
ZOOKEEPER-540 zkpython needs better tracking of handle validity
ZOOKEEPER-541 zkpython limited to 256 handles
ZOOKEEPER-542 c-client can spin when server unresponsive
ZOOKEEPER-547 Sanity check in QuorumCnxn Manager and quorum communication port.
ZOOKEEPER-548 zookeeper.ZooKeeperException not added to the module in zkpython
ZOOKEEPER-551 unnecessary SetWatches message on new session
ZOOKEEPER-554 zkpython can segfault when statting a deleted node
ZOOKEEPER-557 Upload Zookeeper jars to a public maven repository
ZOOKEEPER-558 server "sent" stats not being updated
ZOOKEEPER-562 c client can flood server with pings if tcp send queue filled
ZOOKEEPER-563 ant test for recipes is broken.
ZOOKEEPER-566 "reqs" four letter word (command port) returns no information
ZOOKEEPER-567 javadoc for getchildren2 needs to mention "new in 3.3.0"
ZOOKEEPER-568 SyncRequestProcessor snapping too frequently - counts non-log events as log events
ZOOKEEPER-569 Failure of elected leader can lead to never-ending leader election
ZOOKEEPER-570 AsyncHammerTest is broken, callbacks need to validate rc parameter
ZOOKEEPER-573 the dump 4letterword is not formatting sessionids in hex
ZOOKEEPER-574 the documentation on snapcount in the admin guide has the wrong default
ZOOKEEPER-576 docs need to be updated for session moved exception and how to handle it
ZOOKEEPER-582 ZooKeeper can revert to old data when a snapshot is created outside of normal processing
ZOOKEEPER-586 c client does not compile under cygwin
ZOOKEEPER-587 client should log timeout negotiated with server
ZOOKEEPER-588 remove unnecessary/annoying log of tostring error in Request.toString()
ZOOKEEPER-589 When create a znode, a NULL ACL parameter cannot be accepted
ZOOKEEPER-591 The C Client cannot exit properly in some situation
ZOOKEEPER-593 java client api does not allow client to access negotiated session timeout
ZOOKEEPER-596 The last logged zxid calculated by zookeeper servers could cause problems in leader election if data gets corrupted.
ZOOKEEPER-597 ASyncHammerTest is failing intermittently on hudson trunk
ZOOKEEPER-600 TODO pondering about allocation behavior in zkpython may be removed
ZOOKEEPER-604 zk needs to prevent export of any symbol not listed in their api
ZOOKEEPER-606 bin scripts don't work in cygwin (spaces in paths)
ZOOKEEPER-609 ObserverTest failure "zk should not be connected expected not same"
ZOOKEEPER-610 cleanup final fields, esp those used for locking
ZOOKEEPER-611 hudson build failiure
ZOOKEEPER-614 Improper synchronisation in getClientCnxnCount
ZOOKEEPER-615 wrong javadoc for create with a sequence flag
ZOOKEEPER-617 improve cluster setup documentation in forrest
ZOOKEEPER-619 hudson test failure in QuorumTest -- timeout error
ZOOKEEPER-620 hudson is not reporting compiler warning correctly
ZOOKEEPER-621 hudson failure ZooKeeper-trunk/621 - clover issue
ZOOKEEPER-622 Test for pending watches in send_set_watches should be moved
ZOOKEEPER-623 ClientBase in bookkeeper.util requires junit
ZOOKEEPER-624 The C Client cause core dump when receive error data from Zookeeper Server
ZOOKEEPER-626 ensure the c/java cli's print xid/sessionid/etc... in hex
ZOOKEEPER-627 zkpython arbitrarily restricts the size of a 'get' to 512 bytes
ZOOKEEPER-629 FLELostMessageTest assumes that the first zxid on a startup of quorum is -1.
ZOOKEEPER-630 Trunk has duplicate ObserverTest.java files
ZOOKEEPER-644 Nightly build failed on hudson.
ZOOKEEPER-647 hudson failure in testLeaderShutdown
ZOOKEEPER-656 SledgeHammer test - thread.run() deprecated
ZOOKEEPER-663 hudson failure in ZKDatabaseCorruptionTest
ZOOKEEPER-667 java client doesn't allow ipv6 numeric connect string
ZOOKEEPER-668 Close method in LedgerInputStream doesn't do anything
ZOOKEEPER-669 watchedevent tostring should clearly output the state/type/path
ZOOKEEPER-673 Fix observer documentation regarding leader election
ZOOKEEPER-677 c client doesn't allow ipv6 numeric connect string
ZOOKEEPER-681 Minor doc issue re unset maxClientCnxns
ZOOKEEPER-682 Event is not processed when the watcher is set to watch "/" if chrooted
ZOOKEEPER-683 LogFormatter fails to parse transactional log files
ZOOKEEPER-684 Race in LENonTerminateTest
ZOOKEEPER-687 LENonterminatetest fails on some machines.
ZOOKEEPER-688 explain session expiration better in the docs & faq
ZOOKEEPER-689 release build broken - ivysettings.xml not copied during "package"
ZOOKEEPER-691 Interface changed for NIOServer.Factory
ZOOKEEPER-693 TestObserver stuck in tight notification loop in FLE
ZOOKEEPER-696 NPE in the hudson logs, seems nioservercnxn closed twice
ZOOKEEPER-698 intermittent JMX test failures due to not verifying QuorumPeer shutdown
ZOOKEEPER-708 zkpython failing due to undefined symbol deallocate_String_vector
ZOOKEEPER-709 bookkeeper build failing with missing factory
ZOOKEEPER-710 permanent ZSESSIONMOVED error after client app reconnects to zookeeper cluster
ZOOKEEPER-718 the fatjar is missing libraries
Improvement
ZOOKEEPER-62 Generally improve logging to enable debuggability in the field.
ZOOKEEPER-152 Improve unit tests for leader election
ZOOKEEPER-158 Leader and followers increase cpu utilization upon loss of a follower
ZOOKEEPER-283 Add more javadocs to BookKeeper
ZOOKEEPER-311 handle small path lengths in zoo_create()
ZOOKEEPER-425 Add OSGi metadata to zookeeper.jar
ZOOKEEPER-426 Windows versions of zookeeper scripts
ZOOKEEPER-436 Bookies should auto register to ZooKeeper
ZOOKEEPER-447 zkServer.sh doesn't allow different config files to be specified on the command line
ZOOKEEPER-456 CREATOR_ALL_ACL has unnecessary PERMS.ADMIN in the declartion.
ZOOKEEPER-461 Condense ledger configuration in ZooKeeper
ZOOKEEPER-471 update zkperl for 3.2.x branch
ZOOKEEPER-472 Making DataNode not instantiate a HashMap when the node is ephmeral
ZOOKEEPER-473 cleanup junit tests to eliminate false positives due to "socket reuse" and failure to close client
ZOOKEEPER-476 upgrade junit library from 4.4 to 4.6
ZOOKEEPER-486 Improve bookie performance for large number of ledgers
ZOOKEEPER-488 to fix src/c/tests/zkServer.sh script to add clover in classpath
ZOOKEEPER-506 QuorumBase should use default leader election
ZOOKEEPER-507 BookKeeper client re-write
ZOOKEEPER-529 Use Ivy to pull dependencies and also generate pom
ZOOKEEPER-543 Tests for ZooKeeper examples
ZOOKEEPER-544 improve client testability - allow test client to access connected server location
ZOOKEEPER-549 Refactor Followers and related classes into a Peer->Follower hierarchy in preparation for Observers
ZOOKEEPER-555 Add stat information to GetChildrenResponse
ZOOKEEPER-560 inefficient request handling in NIOServerCnxn
ZOOKEEPER-561 inefficient buffer management, inefficient gc, in NIOServer request handling
ZOOKEEPER-564 Give more feedback on that current flow of events in java client logs
ZOOKEEPER-565 Revisit some java client log messages
ZOOKEEPER-572 add ability for operator to examine state of watches currently registered with a server
ZOOKEEPER-579 zkpython needs more test coverage for ACL code paths
ZOOKEEPER-595 A means of asking quorum what conifguration it is running with
ZOOKEEPER-599 Changes to FLE and QuorumCnxManager to support Observers
ZOOKEEPER-601 allow configuration of session timeout min/max bounds
ZOOKEEPER-607 improve bookkeeper overview
ZOOKEEPER-608 Receipt of ACK from observer should not be logged as ERROR
ZOOKEEPER-612 Make Zookeeper C client can be compiled by gcc of early version
ZOOKEEPER-632 add some documentation or FAQ on how to do rolling upgrade
ZOOKEEPER-633 Fetch netty using ivy for bookkeeper
ZOOKEEPER-638 upgrade ivy to 2.1.0 final from 2.1.0 release candidate
ZOOKEEPER-640 make build.xml more configurable to ease packaging for linux distros
ZOOKEEPER-648 Fix releaseaudit warning count to zero
ZOOKEEPER-651 Log exception trace in QuorumCnxManager.SendWorker
ZOOKEEPER-655 StringBuffer -> StringBuilder - conversion of references as necessary
ZOOKEEPER-658 update forrest docs - AuthFLE no longer supported
ZOOKEEPER-664 BookKeeper API documentation
ZOOKEEPER-665 Add BookKeeper streaming documentation
ZOOKEEPER-672 typo nits across documentation
ZOOKEEPER-692 upgrade junit to latest version (4.8.1)
ZOOKEEPER-717 add a preferred list to the instancemanager
New Feature
ZOOKEEPER-368 Observers: core functionality
ZOOKEEPER-496 zookeeper-tree utility for export, import and incremental updates
ZOOKEEPER-539 generate eclipse project via ant target
ZOOKEEPER-550 Java Queue Recipe
ZOOKEEPER-635 Server supports listening on a specified network address
ZOOKEEPER-678 Browser application to view and edit the contents of a zookeeper instance
Task
ZOOKEEPER-224 Deploy ZooKeeper jars/artifacts to a Maven Repository
ZOOKEEPER-516 add support for 10 minute test ie "pre-commit" test
ZOOKEEPER-521 include autotools (autoconf/automake) in NOTICE file
Test
ZOOKEEPER-394 Converting JUnit tests into TestNG controlled environment
ZOOKEEPER-518 DEBUG message for outstanding proposals in leader should be moved to trace.