跳转至

Zookeeper Release Notes

Source: https://zookeeper.apache.org/doc Latest: 3.9.3

ZooKeeper 3.9.3

Bug fixes [3.9.3]

  • ZOOKEEPER-2332 - Zookeeper failed to start for empty txn log
  • ZOOKEEPER-2623 - CheckVersion outside of Multi causes NullPointerException
  • ZOOKEEPER-4293 - Lock Contention in ClientCnxnSocketNetty (possible deadlock)
  • ZOOKEEPER-4394 - Learner.syncWithLeader got NullPointerException
  • ZOOKEEPER-4409 - NullPointerException in SendAckRequestProcessor
  • ZOOKEEPER-4508 - ZooKeeper client run to endless loop in ClientCnxn.SendThread.run if all server down
  • ZOOKEEPER-4712 - Follower.shutdown() and Observer.shutdown() do not correctly shutdown the syncProcessor, which may lead to data inconsistency
  • ZOOKEEPER-4733 - non-return function error and asan error in CPPUNIT TESTs
  • ZOOKEEPER-4752 - Remove version files in zookeeper-server/src/main from .gitignore
  • ZOOKEEPER-4804 - Use daemon threads for Netty client
  • ZOOKEEPER-4814 - Protocol desynchronization after Connect for (some) old clients
  • ZOOKEEPER-4839 - When DigestMD5 is used to enable mandatory client authentication,Users that do not exist can log in
  • ZOOKEEPER-4843 - Encountering an 'Unreasonable Length' error when configuring jute.maxbuffer to 1GB or more
  • ZOOKEEPER-4876 - jetty-http-9.4.53.v20231009.jar: CVE-2024-6763(3.7)

New Feature [3.9.3]

  • ZOOKEEPER-4747 - Java api lacks synchronous version of sync() call

Improvement [3.9.3]

  • ZOOKEEPER-4850 - Enhance zkCli Tool to Support Reading and Writing Binary Data
  • ZOOKEEPER-4851 - Honor X-Forwarded-For optionally in IPAuthenticationProvider
  • ZOOKEEPER-4860 - Disable X-Forwarded-For in IPAuthenticationProvider by default

Test [3.9.3]

  • ZOOKEEPER-4859 - C client tests hang to be cancelled quite often

Task [3.9.3]

  • ZOOKEEPER-4820 - zookeeper pom leaks logback dependency
  • ZOOKEEPER-4868 - Bump commons-io library to 2.14.0

ZooKeeper 3.9.2

Sub-task [3.9.2]

  • ZOOKEEPER-910 - Use SelectionKey.isXYZ() methods instead of complicated binary logic
  • ZOOKEEPER-4728 - Zookeepr cannot bind to itself forever if DNS is not ready when startup

Bug [3.9.2]

  • ZOOKEEPER-2590 - exists() should check read ACL permission
  • ZOOKEEPER-4236 - Java Client SendThread create many unnecessary Login objects
  • ZOOKEEPER-4415 - Zookeeper 3.7.0 : The client supported protocol versions [TLSv1.3] are not accepted by server preferences
  • ZOOKEEPER-4730 - Incorrect datadir and logdir size reported from admin and 4lw dirs command
  • ZOOKEEPER-4785 - Txn loss due to race condition in Learner.syncWithLeader() during DIFF syn### c [3.9.2]

Improvement [3.9.2]

  • ZOOKEEPER-3486 - add the doc about how to configure SSL/TLS for the admin server
  • ZOOKEEPER-4756 - Merge script should use GitHub api to merge pull requests
  • ZOOKEEPER-4778 - Patch jetty, netty, and logback to remove high severity vulnerabilities
  • ZOOKEEPER-4794 - Reduce the ZKDatabase#committedLog memory usage
  • ZOOKEEPER-4801 - Add memory size limitation policy for ZkDataBase#committedLog
  • ZOOKEEPER-4799 - Refactor ACL check in addWatch command

Wish [3.9.2]

  • ZOOKEEPER-4807 - Add sid for the leader goodbyte log

ZooKeeper 3.9.1

Improvement [3.9.1]

  • ZOOKEEPER-4732 - improve Reproducible Builds
  • ZOOKEEPER-4753 - Explicit handling of DIGEST-MD5 vs GSSAPI in quorum auth

Task [3.9.1]

  • ZOOKEEPER-4751 - Update snappy-java to 1.1.10.5 to address CVE-2023-43642
  • ZOOKEEPER-4754 - Update Jetty to avoid CVE-2023-36479, CVE-2023-40167, and CVE-2023-41900
  • ZOOKEEPER-4755 - Handle Netty CVE-2023-4586

ZooKeeper 3.9.0

Sub-task [3.9.0]

  • ZOOKEEPER-4327 - Flaky test: RequestThrottlerTest

Bug fixes [3.9.0]

  • ZOOKEEPER-2108 - Compilation error in ZkAdaptor.cc with GCC 4.7 or later
  • ZOOKEEPER-3652 - Improper synchronization in ClientCnxn
  • ZOOKEEPER-3908 - zktreeutil multiple issues
  • ZOOKEEPER-3996 - Flaky test: ReadOnlyModeTest.testConnectionEvents
  • ZOOKEEPER-4026 - CREATE2 requests embeded in a MULTI request only get a regular CREATE response
  • ZOOKEEPER-4296 - NullPointerException when ClientCnxnSocketNetty is closed without being opened
  • ZOOKEEPER-4308 - Flaky test: EagerACLFilterTest.testSetDataFail
  • ZOOKEEPER-4393 - Problem to connect to zookeeper in FIPS mode
  • ZOOKEEPER-4466 - Support different watch modes on same path
  • ZOOKEEPER-4471 - Remove WatcherType.Children break persistent watcher's child events
  • ZOOKEEPER-4473 - zooInspector create root node fail with path validate
  • ZOOKEEPER-4475 - Persistent recursive watcher got NodeChildrenChanged event
  • ZOOKEEPER-4477 - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9
  • ZOOKEEPER-4504 - ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality
  • ZOOKEEPER-4505 - CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1
  • ZOOKEEPER-4511 - Flaky test: FileTxnSnapLogMetricsTest.testFileTxnSnapLogMetrics
  • ZOOKEEPER-4514 - ClientCnxnSocketNetty throwing NPE
  • ZOOKEEPER-4515 - ZK Cli quit command always logs error
  • ZOOKEEPER-4537 - Race between SyncThread and CommitProcessor thread
  • ZOOKEEPER-4549 - ProviderRegistry may be repeatedly initialized
  • ZOOKEEPER-4565 - Config watch path get truncated abnormally and fail chroot zookeeper client
  • ZOOKEEPER-4647 - Tests don't pass on JDK20 because we try to mock InetAddress
  • ZOOKEEPER-4654 - Fix C client test compilation error in Util.cc.
  • ZOOKEEPER-4674 - C client tests don't pass on CI
  • ZOOKEEPER-4719 - Use bouncycastle jdk18on instead of jdk15on
  • ZOOKEEPER-4721 - Upgrade OWASP Dependency Check to 8.3.1

New Feature [3.9.0]

  • ZOOKEEPER-4570 - Admin server API for taking snapshot and stream out the data
  • ZOOKEEPER-4655 - Communicate the Zxid that triggered a WatchEvent to fire

Improvement [3.9.0]

  • ZOOKEEPER-3731 - Disable HTTP TRACE Method
  • ZOOKEEPER-3806 - TLS - dynamic loading for client trust/key store
  • ZOOKEEPER-3860 - Avoid reverse DNS lookup for hostname verification when hostnames are provided in the connection url
  • ZOOKEEPER-4289 - Reduce the performance impact of Prometheus metrics
  • ZOOKEEPER-4303 - ZooKeeperServerEmbedded could auto-assign and expose ports
  • ZOOKEEPER-4464 - zooinspector display "Ephemeral Owner" in hex for easy match to jmx session
  • ZOOKEEPER-4467 - Missing op code (addWatch) in Request.op2String
  • ZOOKEEPER-4472 - Support persistent watchers removing individually
  • ZOOKEEPER-4474 - ZooDefs.opNames is unused
  • ZOOKEEPER-4490 - Publish Clover results to SonarQube
  • ZOOKEEPER-4491 - Adding SSL support to Zktreeutil
  • ZOOKEEPER-4492 - Merge readOnly field into ConnectRequest and Response
  • ZOOKEEPER-4494 - Fix error message format
  • ZOOKEEPER-4518 - remove useless log in the PrepRequestProcessor#pRequest method
  • ZOOKEEPER-4519 - Testable interface should have a testableCloseSocket() method
  • ZOOKEEPER-4529 - Upgrade netty to 4.1.76.Final
  • ZOOKEEPER-4531 - Revert Netty TCNative change
  • ZOOKEEPER-4551 - Do not log spammy stacktrace when a client closes its connection
  • ZOOKEEPER-4566 - Create tool for recursive snapshot analysis
  • ZOOKEEPER-4573 - Encapsulate request bytebuffer in Request
  • ZOOKEEPER-4575 - ZooKeeperServer#processPacket take record instead of bytes
  • ZOOKEEPER-4616 - Upgrade docker image for the dev enviroment to resolve CVEs
  • ZOOKEEPER-4622 - Add Netty-TcNative OpenSSL Support
  • ZOOKEEPER-4636 - Fix zkServer.sh for AIX
  • ZOOKEEPER-4657 - Publish SBOM artifacts
  • ZOOKEEPER-4659 - Upgrade Commons CLI to 1.5.0 due to OWASP failing on 1.4 CVE-2021-37533
  • ZOOKEEPER-4660 - Suppress false positive OWASP failure for CVE-2021-37533
  • ZOOKEEPER-4661 - Upgrade Jackson Databind to 2.13.4.2 for CVE-2022-42003 CVE-2022-42004
  • ZOOKEEPER-4705 - Restrict GitHub merge button to allow squash commit only
  • ZOOKEEPER-4717 - Cache serialize data in the request to avoid repeat serialize.
  • ZOOKEEPER-4718 - Removing unnecessary heap memory allocation in serialization can help reduce GC pressure.

Test [3.9.0]

  • ZOOKEEPER-4630 - Fix the NPE from ConnectionMetricsTest.testRevalidateCount
  • ZOOKEEPER-4676 - ReadOnlyModeTest doesn't not compile on JDK20 (Thread.suspend has been removed)

Wish [3.9.0]

  • ZOOKEEPER-3615 - write a TLA+ specification to verify Zab protocol
  • ZOOKEEPER-4710 - Fix ZkUtil deleteInBatch() by releasing semaphore after set flag
  • ZOOKEEPER-4714 - Improve syncRequestProcessor performance
  • ZOOKEEPER-4715 - Verify file size and position in testGetCurrentLogSize.

Task [3.9.0]

  • ZOOKEEPER-4479 - Tests: C client test TestOperations.cc testTimeoutCausedByWatches1 is very flaky on CI
  • ZOOKEEPER-4482 - Fix LICENSE FILES for commons-io and commons-cli
  • ZOOKEEPER-4599 - Upgrade Jetty to avoid CVE-2022-2048
  • ZOOKEEPER-4641 - GH CI fails with error: implicit declaration of function FIPS_mode
  • ZOOKEEPER-4642 - Remove Travis CI
  • ZOOKEEPER-4649 - Upgrade netty to 4.1.86 because of CVE-2022-41915
  • ZOOKEEPER-4669 - Upgrade snappy-java to 1.1.9.1 (in order to support M1 macs)
  • ZOOKEEPER-4688 - Upgrade cyclonedx-maven-plugin to 2.7.6
  • ZOOKEEPER-4700 - Update Jetty for fixing CVE-2023-26048 and CVE-2023-26049
  • ZOOKEEPER-4707 - Update snappy-java to address multiple CVEs
  • ZOOKEEPER-4709 - Upgrade Netty to 4.1.94.Final
  • ZOOKEEPER-4716 - Upgrade jackson to 2.15.2, suppress two false positive CVE errors

ZooKeeper 3.8.4

Sub-task [3.8.4]

  • ZOOKEEPER-910 - Use SelectionKey.isXYZ() methods instead of complicated binary logic
  • ZOOKEEPER-4728 - Zookeepr cannot bind to itself forever if DNS is not ready when startup

Bug fixes [3.8.4]

  • ZOOKEEPER-2590 - exists() should check read ACL permission
  • ZOOKEEPER-4236 - Java Client SendThread create many unnecessary Login objects
  • ZOOKEEPER-4758 - Upgrade snappy-java to 1.1.10.4 to fix CVE-2023-43642
  • ZOOKEEPER-4762 - Update netty jars to 4.1.99+ to fix CVE-2023-4586
  • ZOOKEEPER-4787 - Failed to establish connection between zookeeper

Improvement [3.8.4]

  • ZOOKEEPER-4756 - Merge script should use GitHub api to merge pull requests
  • ZOOKEEPER-4764 - Tune the log of refuse session request.
  • ZOOKEEPER-4778 - Patch jetty, netty, and logback to remove high severity vulnerabilities
  • ZOOKEEPER-4799 - Refactor ACL check in addWatch command

ZooKeeper 3.8.3

Bug fixes [3.8.3]

  • ZOOKEEPER-4721 - Upgrade OWASP Dependency Check to 8.3.1

Improvement [3.8.3]

  • ZOOKEEPER-4753 - Explicit handling of DIGEST-MD5 vs GSSAPI in quorum auth

Task [3.8.3]

  • ZOOKEEPER-4751 - Update snappy-java to 1.1.10.5 to address CVE-2023-43642
  • ZOOKEEPER-4754 - Update Jetty to avoid CVE-2023-36479, CVE-2023-40167, and CVE-2023-41900
  • ZOOKEEPER-4755 - Handle Netty CVE-2023-4586

ZooKeeper 3.8.2

Bug fixes [3.8.2]

  • ZOOKEEPER-4674 - C client tests don't pass on CI
  • ZOOKEEPER-4647 - Tests don't pass on JDK20 because we try to mock InetAddress
  • ZOOKEEPER-4026 - CREATE2 requests embeded in a MULTI request only get a regular CREATE response
  • ZOOKEEPER-4393 - Problem to connect to zookeeper in FIPS mode

Improvement [3.8.2]

  • ZOOKEEPER-3860 - Avoid reverse DNS lookup for hostname verification when hostnames are provided in the connection url

Task [3.8.2]

  • ZOOKEEPER-4599 - Upgrade Jetty to avoid CVE-2022-2048
  • ZOOKEEPER-4669 - Upgrade snappy-java to 1.1.9.1 in order to support M1 macs
  • ZOOKEEPER-4688 - Upgrade cyclonedx-maven-plugin to 2.7.6
  • ZOOKEEPER-4700 - Update Jetty for fixing CVE-2023-26048 and CVE-2023-26049
  • ZOOKEEPER-4707 - Update snappy-java to address multiple CVEs
  • ZOOKEEPER-4709 - Upgrade Netty to 4.1.94.Final
  • ZOOKEEPER-4716 - Upgrade jackson to 2.15.2 and suppress two false positive CVE errors

ZooKeeper 3.8.1

Bug [3.8.1]

  • ZOOKEEPER-3652 - Improper synchronization in ClientCnxn
  • ZOOKEEPER-4308 - Flaky test: EagerACLFilterTest.testSetDataFail
  • ZOOKEEPER-4460 - QuorumPeer overrides Thread.getId with different semantics
  • ZOOKEEPER-4473 - zooInspector create root node fail with path validate
  • ZOOKEEPER-4477 - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9
  • ZOOKEEPER-4504 - ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality
  • ZOOKEEPER-4505 - CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1
  • ZOOKEEPER-4511 - Flaky test: FileTxnSnapLogMetricsTest.testFileTxnSnapLogMetrics
  • ZOOKEEPER-4514 - ClientCnxnSocketNetty throwing NPE
  • ZOOKEEPER-4515 - ZK Cli quit command always logs error
  • ZOOKEEPER-4537 - Race between SyncThread and CommitProcessor thread
  • ZOOKEEPER-4654 - Fix C client test compilation error in Util.cc.

Improvement [3.8.1]

  • ZOOKEEPER-4289 - Reduce the performance impact of Prometheus metrics
  • ZOOKEEPER-4529 - Upgrade netty to 4.1.76.Final
  • ZOOKEEPER-4531 - Revert Netty TCNative change
  • ZOOKEEPER-4551 - Do not log spammy stacktrace when a client closes its connection
  • ZOOKEEPER-4616 - Upgrade docker image for the dev enviroment to resolve CVEs
  • ZOOKEEPER-4657 - Publish SBOM artifacts
  • ZOOKEEPER-4659 - Upgrade Commons CLI to 1.5.0 due to OWASP failing on 1.4 CVE-2021-37533
  • ZOOKEEPER-4660 - Suppress false positive OWASP failure for CVE-2021-37533
  • ZOOKEEPER-4661 - Upgrade Jackson Databind to 2.13.4.2 for CVE-2022-42003 CVE-2022-42004

Task [3.8.1]

  • ZOOKEEPER-4479 - Tests: C client test TestOperations.cc testTimeoutCausedByWatches1 is very flaky on CI
  • ZOOKEEPER-4510 - dependency-check:check failing - reload4j-1.2.19.jar: CVE-2020-9493, CVE-2022-23307
  • ZOOKEEPER-4627 - High CVE-2022-2048 in jetty-*-9.4.46.v20220331.jar fixed in 9.4.47
  • ZOOKEEPER-4632 - Fix NPE from ConnectionMetricsTest.testRevalidateCount
  • ZOOKEEPER-4641 - GH CI fails with error: implicit declaration of function FIPS_mode
  • ZOOKEEPER-4649 - Upgrade netty to 4.1.86 because of CVE-2022-41915
  • ZOOKEEPER-4666 - Fix license files for Netty: some files are for 4.1.76 and some other files are for 4.1.86

Sub-task [3.8.1]

  • ZOOKEEPER-4327 - Flaky test: RequestThrottlerTest

ZooKeeper 3.8.0

New Feature [3.8.0]

  • ZOOKEEPER-3301 - Enforce the quota limit
  • ZOOKEEPER-3601 - introduce the fault injection framework: Byteman for ZooKeeper
  • ZOOKEEPER-3907 - add a documentation about alerting on metrics
  • ZOOKEEPER-4211 - Expose Quota Metrics to Prometheus

Improvement [3.8.0]

  • ZOOKEEPER-1871 - Add an option to zkCli to wait for connection before executing commands
  • ZOOKEEPER-2907 - Logged request buffer isn't useful
  • ZOOKEEPER-3730 - fix a typo about watchManagerName in the zookeeperAdmin.md
  • ZOOKEEPER-3798 - remove the useless code in the ProposalRequestProcessor#processRequest
  • ZOOKEEPER-3800 - improve the log printing the address when QuorumCnxManager#ListenerHandler's port binds
  • ZOOKEEPER-3807 - fix the bad format when website pages build due to bash marker
  • ZOOKEEPER-3841 - remove useless codes in the Leader.java
  • ZOOKEEPER-3849 - improve the all logs with a necessary time unit at the start up of server
  • ZOOKEEPER-3898 - Fix typos
  • ZOOKEEPER-3942 - move traceMask calculation logic into the trace log guard
  • ZOOKEEPER-3961 - Inaccurate Error Message
  • ZOOKEEPER-4001 - AuditHelper.addAuditLog(...) more readable
  • ZOOKEEPER-4037 - Closing autoCloseable resource with try-with-resources block
  • ZOOKEEPER-4046 - Fix typo
  • ZOOKEEPER-4058 - Update checkstyle-strict.xml by the latest version 8.39 of checkstyle
  • ZOOKEEPER-4188 - add a doc about whoami CLI
  • ZOOKEEPER-4209 - Update Netty version to 4.1.53.Final on 3.5 branch
  • ZOOKEEPER-4217 - Report caller function name in handle_socket_error_msg
  • ZOOKEEPER-4231 - Add document for snapshot compression config
  • ZOOKEEPER-4259 - Allow AdminServer to force https
  • ZOOKEEPER-4280 - fix the log format in the DataTree#deserializeZxidDigest method
  • ZOOKEEPER-4281 - Packet length sanity check is inconsistent
  • ZOOKEEPER-4284 - Add metrics for observer sync time
  • ZOOKEEPER-4291 - ZooInspector has very high latency when operating against remote clusters
  • ZOOKEEPER-4294 - FileSnap#findNValidSnapshots should not declare IOException
  • ZOOKEEPER-4301 - fix typo
  • ZOOKEEPER-4312 - ZooKeeperServerEmbedded: enhance server start/stop for testability
  • ZOOKEEPER-4318 - Only report the follower sync time metrics if sync is completed
  • ZOOKEEPER-4326 - fix typo in the recipes.md
  • ZOOKEEPER-4346 - remove never used field
  • ZOOKEEPER-4349 - delete the useless oraclePath directory generated by test suit
  • ZOOKEEPER-4350 - improve the method: QuorumOracleMaj#overrideQuorumDecision
  • ZOOKEEPER-4355 - ZK documentation side bar and welcome page are out of sync
  • ZOOKEEPER-4370 - add zookeeperOracleQuorums.html link to webpage index
  • ZOOKEEPER-4380 - Avoid NPE in RateLogger#rateLimitLog
  • ZOOKEEPER-4382 - Update Maven Bundle Plugin in order to allow builds on JDK18
  • ZOOKEEPER-4396 - Read Key/trust store password from file
  • ZOOKEEPER-4402 - Added Hyperlink At LOGO
  • ZOOKEEPER-4411 - improve the grammar issue[patch] in the README.md
  • ZOOKEEPER-4427 - Migrate to Logback
  • ZOOKEEPER-4435 - Typo in the log message of ServerCnxnFactory
  • ZOOKEEPER-4453 - NettyServerCnxnFactory: allow to configure the early TLS connection drop feature
  • ZOOKEEPER-4454 - Upgrade Netty to 4.1.73
  • ZOOKEEPER-4462 - Upgrade Netty TCNative to 2.0.48

Bug fixes [3.8.0]

  • ZOOKEEPER-3128 - Get CLI Command displays Authentication error for Authorization error
  • ZOOKEEPER-3706 - ZooKeeper.close() would leak SendThread when the network is broken
  • ZOOKEEPER-3781 - Zookeeper 3.5.7 not creating snapshot
  • ZOOKEEPER-3877 - JMX Bean RemotePeerBean should enclose IPV6 host in square bracket same as LocalPeerBean
  • ZOOKEEPER-3887 - In SSL-only server zkServer.sh status command should use secureClientPortAddress instead of clientPortAddress
  • ZOOKEEPER-3943 - Zookeeper Inspector throwing NullPointerExceptions and not displaying properly
  • ZOOKEEPER-3987 - Build failures when running surefire tests concurrently due to bind address already in use
  • ZOOKEEPER-3988 - org.apache.zookeeper.server.NettyServerCnxn.receiveMessage throws NullPointerException
  • ZOOKEEPER-3992 - addWatch api should check the null watch
  • ZOOKEEPER-4007 - A typo in the ZKUtil#validateFileInput method
  • ZOOKEEPER-4050 - Zookeeper Inspector reports "List of default node viewers is empty" when not specifically run from the zookeeper-contrib/zookeeper-contrib-zooinspector directory
  • ZOOKEEPER-4191 - Missing executable bits in source release tarball
  • ZOOKEEPER-4194 - ZooInspector throws NullPointerExceptions to console when node data is null
  • ZOOKEEPER-4201 - C client: SASL-related compilation issues on macOS Catalina
  • ZOOKEEPER-4204 - Flaky test - RequestPathMetricsCollectorTest.testMultiThreadPerf
  • ZOOKEEPER-4205 - Test fails when port 8080 is in use
  • ZOOKEEPER-4207 - New CI pipeline checks out master in branch builds too
  • ZOOKEEPER-4210 - Zookeeper c client: detect connection loss during opportunistic async send
  • ZOOKEEPER-4219 - Quota checks break setData in multi transactions
  • ZOOKEEPER-4220 - Potential redundant connection attempts during leader election
  • ZOOKEEPER-4230 - Use dynamic temp folder instead of static temp folder in RestMain
  • ZOOKEEPER-4232 - InvalidSnapshotTest corrupts its own test data
  • ZOOKEEPER-4247 - NPE while processing message from restarted quorum member
  • ZOOKEEPER-4265 - Download page broken links
  • ZOOKEEPER-4266 - Correct ZooKeeper version in documentation header
  • ZOOKEEPER-4267 - Fix check-style issues
  • ZOOKEEPER-4269 - acceptedEpoch.tmp rename failure will cause server startup error
  • ZOOKEEPER-4272 - Upgrade Netty library to > 4.1.60 due to security vulnerability CVE-2021-21295
  • ZOOKEEPER-4275 - Slowness in sasl login or subject.doAs() causes zk client to falsely assume that the server did not respond, closes connection and goes to unnecessary retries
  • ZOOKEEPER-4277 - dependency-check:check failing - jetty-server-9.4.38 CVE-2021-28165
  • ZOOKEEPER-4278 - dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409
  • ZOOKEEPER-4309 - QuorumCnxManager's ListenerHandler thread leak
  • ZOOKEEPER-4311 - Fsync errors are ignored in AtomicFileWritingIdiom
  • ZOOKEEPER-4325 - IllegalArgumentException when use ZkUtil::listSubTreeBFS to list "/"
  • ZOOKEEPER-4337 - CVE-2021-34429 in jetty 9.4.38.v20210224 in zookeeper 3.7.0
  • ZOOKEEPER-4342 - Robustify C client against errors during SASL negotiation
  • ZOOKEEPER-4343 - OWASP Dependency-Check fails with CVE-2021-29425, commons-io-2.6
  • ZOOKEEPER-4345 - Avoid NoSunchMethodException caused by shaded zookeeper jar
  • ZOOKEEPER-4356 - Code blocks do not render correctly in ZK docs site
  • ZOOKEEPER-4360 - Avoid NPE during metrics execution if the leader is not set on a FOLLOWER node
  • ZOOKEEPER-4362 - ZKDatabase.txnCount logged non transactional requests
  • ZOOKEEPER-4367 - Zookeeper#Login thread leak in case of Sasl AuthFailed.
  • ZOOKEEPER-4372 - Zookeeper lock recipe doesn't parse negative sequence numbers correctly
  • ZOOKEEPER-4377 - KeeperException.create has NullPointerException when low version client requests the high version server
  • ZOOKEEPER-4406 - fix the znode type for Barrier implementation in the zookeeperTutorial.md

Test [3.8.0]

  • ZOOKEEPER-4319 - Refactor AtomicFileWritingIdiomTest to use TempDir annotation
  • ZOOKEEPER-4333 - QuorumSSLTest - testOCSP fails on JDK17
  • ZOOKEEPER-4340 - Add tab unit test for StringUtils#split

Task [3.8.0]

  • ZOOKEEPER-3957 - Create Owasp check build on new Jenkins instance
  • ZOOKEEPER-3970 - Enable ZooKeeperServerController to expire session
  • ZOOKEEPER-3980 - Fix Jenkinsfiles with new tool names
  • ZOOKEEPER-4233 - dependency-check:check failing - Jetty 9.4.35.v20201120 - CVE-2020-27223
  • ZOOKEEPER-4315 - Fix NOTICE file in the source distribution
  • ZOOKEEPER-4384 - Fix 'se[r]ver' typo in ClientCnxn class.
  • ZOOKEEPER-4414 - Update Netty to 4.1.70.Final
  • ZOOKEEPER-4429 - Update jackson-databind to 2.13.1
  • ZOOKEEPER-4465 - zooinspector logback pattern config add escape for '(' and ')'
  • ZOOKEEPER-4469 - Suppress OWASP false positives related to Netty TCNative
  • ZOOKEEPER-4478 - Suppress OWASP false positives zookeeper-jute-3.8.0-SNAPSHOT.jar: CVE-2021-29425, CVE-2021-28164, CVE-2021-34429

Sub-task [3.8.0]

  • ZOOKEEPER-3774 - Close quorum socket asynchronously on the leader to avoid ping being blocked by long socket closing time
  • ZOOKEEPER-4251 - Flaky test: org.apache.zookeeper.test.WatcherTest
  • ZOOKEEPER-4257 - learner.asyncSending, learner.closeSocketAsync and leader.closeSocketAsync should be configurable in zoo.cfg
  • ZOOKEEPER-4270 - Flaky test: QuorumPeerMainTest#testLeaderOutOfView
  • ZOOKEEPER-4461 - Migrate zookeeper-contrib and -recipes projects.

ZooKeeper 3.7.2

Sub-task [3.7.2]

  • ZOOKEEPER-4327 - Flaky test: RequestThrottlerTest

Bug fixes[3.7.2]

  • ZOOKEEPER-4026 - CREATE2 requests embeded in a MULTI request only get a regular CREATE response
  • ZOOKEEPER-4308 - Flaky test: EagerACLFilterTest.testSetDataFail
  • ZOOKEEPER-4460 - QuorumPeer overrides Thread.getId with different semantics
  • ZOOKEEPER-4511 - Flaky test: FileTxnSnapLogMetricsTest.testFileTxnSnapLogMetrics
  • ZOOKEEPER-4537 - Race between SyncThread and CommitProcessor thread
  • ZOOKEEPER-4565 - Config watch path get truncated abnormally and fail chroot zookeeper client
  • ZOOKEEPER-4654 - Fix C client test compilation error in Util.cc.
  • ZOOKEEPER-4674 - C client tests don't pass on CI
  • ZOOKEEPER-4721 - Upgrade OWASP Dependency Check to 8.3.1

Improvement [3.7.2]

  • ZOOKEEPER-4545 - Backport auto reloading client key/trust store to 3.7
  • ZOOKEEPER-4551 - Do not log spammy stacktrace when a client closes its connection
  • ZOOKEEPER-4602 - Upgrade reload4j due to XXE vulnerability
  • ZOOKEEPER-4616 - Upgrade docker image for the dev enviroment to resolve CVEs
  • ZOOKEEPER-4657 - Publish SBOM artifacts
  • ZOOKEEPER-4659 - Upgrade Commons CLI to 1.5.0 due to OWASP failing on 1.4 CVE-2021-37533
  • ZOOKEEPER-4660 - Suppress false positive OWASP failure for CVE-2021-37533
  • ZOOKEEPER-4661 - Upgrade Jackson Databind to 2.13.4.2 for CVE-2022-42003 CVE-2022-42004
  • ZOOKEEPER-4753 - Explicit handling of DIGEST-MD5 vs GSSAPI in quorum auth

Task [3.7.2]

  • ZOOKEEPER-4599 - Upgrade Jetty to avoid CVE-2022-2048
  • ZOOKEEPER-4627 - High CVE-2022-2048 in jetty-*-9.4.46.v20220331.jar fixed in 9.4.47
  • ZOOKEEPER-4632 - Fix NPE from ConnectionMetricsTest.testRevalidateCount
  • ZOOKEEPER-4641 - GH CI fails with error: implicit declaration of function FIPS_mode
  • ZOOKEEPER-4649 - Upgrade netty to 4.1.86 because of CVE-2022-41915
  • ZOOKEEPER-4669 - Upgrade snappy-java to 1.1.9.1 (in order to support M1 macs)
  • ZOOKEEPER-4688 - Upgrade cyclonedx-maven-plugin to 2.7.6
  • ZOOKEEPER-4707 - Update snappy-java to address multiple CVEs
  • ZOOKEEPER-4709 - Upgrade Netty to 4.1.94.Final
  • ZOOKEEPER-4716 - Upgrade jackson to 2.15.2, suppress two false positive CVE errors
  • ZOOKEEPER-4751 - Update snappy-java to 1.1.10.5 to address CVE-2023-43642
  • ZOOKEEPER-4754 - Update Jetty to avoid CVE-2023-36479, CVE-2023-40167, and CVE-2023-41900
  • ZOOKEEPER-4755 - Handle Netty CVE-2023-4586

ZooKeeper 3.7.1

Improvement [3.7.1]

  • ZOOKEEPER-3798 - remove the useless code in the ProposalRequestProcessor#processRequest
  • ZOOKEEPER-3807 - fix the bad format when website pages build due to bash marker
  • ZOOKEEPER-3841 - remove useless codes in the Leader.java
  • ZOOKEEPER-4259 - Allow AdminServer to force https
  • ZOOKEEPER-4281 - Packet length sanity check is inconsistent
  • ZOOKEEPER-4284 - Add metrics for observer sync time
  • ZOOKEEPER-4312 - ZooKeeperServerEmbedded: enhance server start/stop for testability
  • ZOOKEEPER-4318 - Only report the follower sync time metrics if sync is completed
  • ZOOKEEPER-4355 - ZK documentation side bar and welcome page are out of sync
  • ZOOKEEPER-4380 - Avoid NPE in RateLogger#rateLimitLog
  • ZOOKEEPER-4382 - Update Maven Bundle Plugin in order to allow builds on JDK18
  • ZOOKEEPER-4453 - NettyServerCnxnFactory: allow to configure the early TLS connection drop feature
  • ZOOKEEPER-4454 - Upgrade Netty to 4.1.73
  • ZOOKEEPER-4455 - Move to https://reload4j.qos.ch/ (remove log4j1)
  • ZOOKEEPER-4462 - Upgrade Netty TCNative to 2.0.48
  • ZOOKEEPER-4468 - Backport BCFKS key/trust store format support to branch 3.5
  • ZOOKEEPER-4529 - Upgrade netty to 4.1.76.Final
  • ZOOKEEPER-4531 - Revert Netty TCNative change

Bug fixes [3.7.1]

  • ZOOKEEPER-1875 - NullPointerException in ClientCnxn$EventThread.processEvent
  • ZOOKEEPER-3128 - Get CLI Command displays Authentication error for Authorization error
  • ZOOKEEPER-3652 - Improper synchronization in ClientCnxn
  • ZOOKEEPER-3887 - In SSL-only server zkServer.sh status command should use secureClientPortAddress instead of clientPortAddress
  • ZOOKEEPER-3988 - org.apache.zookeeper.server.NettyServerCnxn.receiveMessage throws NullPointerException
  • ZOOKEEPER-4194 - ZooInspector throws NullPointerExceptions to console when node data is null
  • ZOOKEEPER-4204 - Flaky test - RequestPathMetricsCollectorTest.testMultiThreadPerf
  • ZOOKEEPER-4247 - NPE while processing message from restarted quorum member
  • ZOOKEEPER-4265 - Download page broken links
  • ZOOKEEPER-4266 - Correct ZooKeeper version in documentation header
  • ZOOKEEPER-4269 - acceptedEpoch.tmp rename failure will cause server startup error
  • ZOOKEEPER-4272 - Upgrade Netty library to > 4.1.60 due to security vulnerability CVE-2021-21295
  • ZOOKEEPER-4275 - Slowness in sasl login or subject.doAs() causes zk client to falsely assume that the server did not respond, closes connection and goes to unnecessary retries
  • ZOOKEEPER-4277 - dependency-check:check failing - jetty-server-9.4.38 CVE-2021-28165
  • ZOOKEEPER-4278 - dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409
  • ZOOKEEPER-4309 - QuorumCnxManager's ListenerHandler thread leak
  • ZOOKEEPER-4331 - zookeeper artifact is not compatible with OSGi runtime
  • ZOOKEEPER-4337 - CVE-2021-34429 in jetty 9.4.38.v20210224 in zookeeper 3.7.0
  • ZOOKEEPER-4342 - Robustify C client against errors during SASL negotiation
  • ZOOKEEPER-4345 - Avoid NoSunchMethodException caused by shaded zookeeper jar
  • ZOOKEEPER-4356 - Code blocks do not render correctly in ZK docs site
  • ZOOKEEPER-4360 - Avoid NPE during metrics execution if the leader is not set on a FOLLOWER node
  • ZOOKEEPER-4362 - ZKDatabase.txnCount logged non transactional requests
  • ZOOKEEPER-4367 - Zookeeper#Login thread leak in case of Sasl AuthFailed.
  • ZOOKEEPER-4377 - KeeperException.create has NullPointerException when low version client requests the high version server
  • ZOOKEEPER-4452 - Log4j 1.X CVE-2022-23302/5/7 vulnerabilities
  • ZOOKEEPER-4477 - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9
  • ZOOKEEPER-4504 - ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality
  • ZOOKEEPER-4505 - CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1
  • ZOOKEEPER-4510 - dependency-check:check failing - reload4j-1.2.19.jar: CVE-2020-9493, CVE-2022-23307
  • ZOOKEEPER-4514 - ClientCnxnSocketNetty throwing NPE
  • ZOOKEEPER-4515 - ZK Cli quit command always logs error
  • ZOOKEEPER-4516 - checkstyle:check is failing

Test [3.7.1]

  • ZOOKEEPER-4333 - QuorumSSLTest - testOCSP fails on JDK17

Task [3.7.1]

  • ZOOKEEPER-3970 - Enable ZooKeeperServerController to expire session
  • ZOOKEEPER-4315 - Fix NOTICE file in the source distribution
  • ZOOKEEPER-4414 - Update Netty to 4.1.70.Final
  • ZOOKEEPER-4429 - Update jackson-databind to 2.13.1
  • ZOOKEEPER-4469 - Suppress OWASP false positives related to Netty TCNative
  • ZOOKEEPER-4478 - Suppress OWASP false positives zookeeper-jute-3.8.0-SNAPSHOT.jar: CVE-2021-29425, CVE-2021-28164, CVE-2021-34429
  • ZOOKEEPER-4479 - Tests: C client test TestOperations.cc testTimeoutCausedByWatches1 is very flaky on CI
  • ZOOKEEPER-4482 - Fix LICENSE FILES for commons-io and commons-cli

Sub-task [3.7.1]

  • ZOOKEEPER-3774 - Close quorum socket asynchronously on the leader to avoid ping being blocked by long socket closing time
  • ZOOKEEPER-4251 - Flaky test: org.apache.zookeeper.test.WatcherTest
  • ZOOKEEPER-4257 - learner.asyncSending, learner.closeSocketAsync and leader.closeSocketAsync should be configurable in zoo.cfg
  • ZOOKEEPER-4270 - Flaky test: QuorumPeerMainTest#testLeaderOutOfView

ZooKeeper 3.7.0

New Feature [3.7.0]

  • ZOOKEEPER-1112 - Add support for C client for SASL authentication
  • ZOOKEEPER-3264 - The benchmark tools for zookeeper
  • ZOOKEEPER-3301 - Enforce the quota limit
  • ZOOKEEPER-3681 - Add s390x support for Travis build
  • ZOOKEEPER-3714 - Add (Cyrus) SASL authentication support to Perl client
  • ZOOKEEPER-3874 - Official API to start ZooKeeper server from Java
  • ZOOKEEPER-3948 - Introduce a deterministic runtime behavior injection framework for ZooKeeperServer testing
  • ZOOKEEPER-3959 - Allow multiple superUsers with SASL
  • ZOOKEEPER-3969 - Add whoami API and Cli command
  • ZOOKEEPER-4030 - Optionally canonicalize host names in quorum SASL authentication

Improvement [3.7.0]

  • ZOOKEEPER-1871 - Add an option to zkCli to wait for connection before executing commands
  • ZOOKEEPER-2272 - Code clean up in ZooKeeperServer and KerberosName
  • ZOOKEEPER-2649 - The ZooKeeper do not write in log session ID in which the client has been authenticated.
  • ZOOKEEPER-2779 - Add option to not set ACL for reconfig node
  • ZOOKEEPER-3101 - Add comment reminding users to add cases to zerror when adding values to ZOO_ERRORS
  • ZOOKEEPER-3342 - Use StandardCharsets
  • ZOOKEEPER-3411 - remove the deprecated CLI: ls2 and rmr
  • ZOOKEEPER-3427 - Introduce SnapshotComparer that assists debugging with snapshots.
  • ZOOKEEPER-3482 - SASL (Kerberos) Authentication with SSL for clients and Quorum
  • ZOOKEEPER-3561 - Generalize target authentication scheme for ZooKeeper authentication enforcement.
  • ZOOKEEPER-3567 - Add SSL support for the zk python client
  • ZOOKEEPER-3581 - use factory design pattern to refactor ZooKeeperMain
  • ZOOKEEPER-3582 - refactor the async api call to lambda style
  • ZOOKEEPER-3638 - Update Jetty to 9.4.24.v20191120
  • ZOOKEEPER-3640 - Implement "batch mode" in cli_mt
  • ZOOKEEPER-3649 - ls -s CLI need a line break
  • ZOOKEEPER-3662 - Remove NPE Possibility in Follower Class
  • ZOOKEEPER-3663 - Clean Up ZNodeName Class
  • ZOOKEEPER-3666 - remove the deprecated LogFormatter tool
  • ZOOKEEPER-3671 - Use ThreadLocalConcurrent to Replace Random and Math.random
  • ZOOKEEPER-3678 - Remove Redundant GroupID from Maven POMs
  • ZOOKEEPER-3679 - Upgrade maven-compiler-plugin For ZooKeeper-jute
  • ZOOKEEPER-3682 - Stop initializing new SSL connection if ZK server is shutting down
  • ZOOKEEPER-3683 - Discard requests that are delayed longer than a configured threshold
  • ZOOKEEPER-3687 - Jute Use JDK hashCode Methods for Native Types
  • ZOOKEEPER-3688 - Use StandardCharsets UTF-8 in Jute toString
  • ZOOKEEPER-3690 - Improving leader efficiency via not processing learner's requests in commit processor
  • ZOOKEEPER-3691 - Use JDK String Join Method in ZK StringUtils
  • ZOOKEEPER-3694 - Use Map computeIfAbsent in AvgMinMaxCounterSet Class
  • ZOOKEEPER-3708 - Move Logging Code into Logging Guard in Learner
  • ZOOKEEPER-3722 - make logs of ResponseCache more readable
  • ZOOKEEPER-3728 - move traceMask calculation logic into the trace log in the FinalRequestProcessor#processRequest
  • ZOOKEEPER-3741 - Fix ZooKeeper 3.5 C client build on Fedora8
  • ZOOKEEPER-3761 - upgrade JLine jar dependency
  • ZOOKEEPER-3767 - fix a large amount of maven build warnings
  • ZOOKEEPER-3785 - Make sources buildable with JDK14
  • ZOOKEEPER-3786 - Simplify generation of VersionInfoMain and Info
  • ZOOKEEPER-3788 - Add m2e configuration in pom.xml for Eclipse developers
  • ZOOKEEPER-3790 - zkpython: Minor compilation and testing issues
  • ZOOKEEPER-3791 - Miscellaneous Maven improvements
  • ZOOKEEPER-3796 - Skip Learner Request made to ObserverMaster from going to next processor
  • ZOOKEEPER-3805 - NIOServerCnxnFactory static block has no used code
  • ZOOKEEPER-3808 - correct the documentation about digest.enabled
  • ZOOKEEPER-3811 - cleaning up the code,A static field should be directly referred by its class name
  • ZOOKEEPER-3831 - Add a test that does a minimal validation of Apache Curator
  • ZOOKEEPER-3833 - Do Not Override Plugin Versions from Apache Parent POM
  • ZOOKEEPER-3836 - Use Commons and JDK Functions in ClientBase
  • ZOOKEEPER-3839 - ReconfigBackupTest Remove getFileContent
  • ZOOKEEPER-3883 - new UncaughtExceptionHandler object with lambda
  • ZOOKEEPER-3893 - Enhance documentation for property ssl.clientAuth
  • ZOOKEEPER-3913 - Upgrade to Netty 4.1.50.Final
  • ZOOKEEPER-3919 - Add ARM64 jobs to Travis-CI
  • ZOOKEEPER-3926 - make the rc constant in the ClientCnxn
  • ZOOKEEPER-3934 - upgrade dependency-check to version 6.0.0
  • ZOOKEEPER-3935 - Handle float metrics in check_zookeeper
  • ZOOKEEPER-3941 - Upgrade commons-cli to 1.4
  • ZOOKEEPER-3950 - Add support for BCFKS key/trust store format
  • ZOOKEEPER-3952 - Remove commons-lang from ZooKeeper
  • ZOOKEEPER-3956 - Remove json-simple from ZooKeeper
  • ZOOKEEPER-3958 - Update dependency versions and eliminate java docs warnings
  • ZOOKEEPER-3960 - Update ZooKeeper client documentation about key file format parameters
  • ZOOKEEPER-3971 - Auto close resources with try catch block
  • ZOOKEEPER-3978 - Adding additional security metrics to zookeeper
  • ZOOKEEPER-3989 - GenerateLoad needs to use log for protecting sensitive data
  • ZOOKEEPER-4000 - use the computeIfAbsent to simplify the Leader#processSync method
  • ZOOKEEPER-4033 - Remove unnecessary judgment of null
  • ZOOKEEPER-4048 - Upgrade Mockito to 3.6.28 - allow builds on JDK16
  • ZOOKEEPER-4058 - Update checkstyle-strict.xml by the latest version 8.39 of checkstyle
  • ZOOKEEPER-4188 - add a doc about whoami CLI
  • ZOOKEEPER-4209 - Update Netty version to 4.1.53.Final on 3.5 branch
  • ZOOKEEPER-4221 - Improve the error message when message goes above jute.maxbufer size
  • ZOOKEEPER-4231 - Add document for snapshot compression config

Bug [3.7.0]

  • ZOOKEEPER-1105 - c client zookeeper_close not send CLOSE_OP request to server
  • ZOOKEEPER-1677 - Misuse of INET_ADDRSTRLEN
  • ZOOKEEPER-1998 - C library calls getaddrinfo unconditionally from zookeeper_interest
  • ZOOKEEPER-2164 - fast leader election keeps failing
  • ZOOKEEPER-2307 - ZooKeeper not starting because acceptedEpoch is less than the currentEpoch
  • ZOOKEEPER-2475 - Include ZKClientConfig API in zoookeeper javadoc
  • ZOOKEEPER-2490 - infinitely connect on windows
  • ZOOKEEPER-2836 - QuorumCnxManager.Listener Thread Better handling of SocketTimeoutException
  • ZOOKEEPER-3112 - fd leak due to UnresolvedAddressException on connect.
  • ZOOKEEPER-3215 - Handle Java 9/11 additions of covariant return types to java.nio.ByteBuffer methods
  • ZOOKEEPER-3426 - ZK prime_connection(the Handshake) can complete without reading all the payload.
  • ZOOKEEPER-3579 - handle NPE gracefully when the watch parameter of zookeeper java client is null
  • ZOOKEEPER-3613 - ZKConfig fails to return proper value on getBoolean() when user accidentally includes spaces at the end of the value
  • ZOOKEEPER-3642 - Data inconsistency when the leader crashes right after sending SNAP sync
  • ZOOKEEPER-3644 - Data loss after upgrading standalone ZK server 3.4.14 to 3.5.6 with snapshot.trust.empty=true
  • ZOOKEEPER-3651 - NettyServerCnxnFactoryTest is flaky
  • ZOOKEEPER-3653 - Audit Log feature fails in a stand alone zookeeper setup
  • ZOOKEEPER-3654 - Incorrect *_CFLAGS handling in Automake
  • ZOOKEEPER-3656 - SyncRequestProcessor doesn't update lastFlushTime correctly on observers
  • ZOOKEEPER-3667 - set jute.maxbuffer hexadecimal number throw parseInt error
  • ZOOKEEPER-3698 - NoRouteToHostException when starting large ZooKeeper cluster on localhost
  • ZOOKEEPER-3699 - upgrade jackson-databind to address CVE-2019-20330
  • ZOOKEEPER-3701 - Split brain on log disk full
  • ZOOKEEPER-3710 - [trivial bug] fix compile error in PurgeTxnTest introduced by ZOOKEEPER-3231
  • ZOOKEEPER-3726 - invalid ipv6 address comparison in C client
  • ZOOKEEPER-3737 - Unable to eliminate log4j1 transitive dependency
  • ZOOKEEPER-3738 - Avoid use of broken codehaus properties-maven-plugin
  • ZOOKEEPER-3739 - Remove use of com.sun.nio.file.SensitivityWatchEventModifier
  • ZOOKEEPER-3745 - Update copyright notices from 2019 to 2020
  • ZOOKEEPER-3748 - Resolve release requirements in download page
  • ZOOKEEPER-3769 - fast leader election does not end if leader is taken down
  • ZOOKEEPER-3772 - JettyAdminServer should not allow HTTP TRACE method
  • ZOOKEEPER-3780 - restore Version.getRevision() to be backward compatible
  • ZOOKEEPER-3781 - Zookeeper 3.5.7 not creating snapshot
  • ZOOKEEPER-3782 - Replace filter with list comprehension for returning list in zk-merge-pr.py
  • ZOOKEEPER-3793 - Request throttling is broken when RequestThrottler is disabled or configured incorrectly.
  • ZOOKEEPER-3801 - Fix Jenkins link in pom
  • ZOOKEEPER-3814 - ZooKeeper config propagates even with disabled dynamic reconfig
  • ZOOKEEPER-3818 - fix zkServer.sh status command to support SSL-only server
  • ZOOKEEPER-3829 - Zookeeper refuses request after node expansion
  • ZOOKEEPER-3830 - After add a new node, zookeeper cluster won't commit any proposal if this new node is leader
  • ZOOKEEPER-3832 - ZKHostnameVerifier rejects valid certificates with subjectAltNames
  • ZOOKEEPER-3842 - Rolling scale up of zookeeper cluster does not work with reconfigEnabled=false
  • ZOOKEEPER-3863 - Do not track global sessions in ReadOnlyZooKeeperServer
  • ZOOKEEPER-3865 - fix backward-compatibility for ZooKeeperServer constructor
  • ZOOKEEPER-3876 - zkServer.sh status command fails when IPV6 is configured
  • ZOOKEEPER-3877 - JMX Bean RemotePeerBean should enclose IPV6 host in square bracket same as LocalPeerBean
  • ZOOKEEPER-3878 - Client connection fails if IPV6 is not enclosed in square brackets
  • ZOOKEEPER-3885 - zoo_aremove_watches segfault: zk_hashtable needs locking!
  • ZOOKEEPER-3891 - ZKCli commands give wrong error message "Authentication is not valid" for insufficient permissions
  • ZOOKEEPER-3895 - Client side NullPointerException in case of empty Multi operation
  • ZOOKEEPER-3905 - Race condition causes sessions to be created for clients even though their certificate authentication has failed
  • ZOOKEEPER-3911 - Data inconsistency caused by DIFF sync uncommitted log
  • ZOOKEEPER-3933 - owasp failing with json-simple-1.1.1.jar: CVE-2020-10663, CVE-2020-7712
  • ZOOKEEPER-3937 - C client: avoid out-of-order packets during SASL negotiation
  • ZOOKEEPER-3943 - Zookeeper Inspector throwing NullPointerExceptions and not displaying properly
  • ZOOKEEPER-3944 - zookeeper c api sasl client memory leak
  • ZOOKEEPER-3951 - Compile Error in Zookeeper.c without SASL
  • ZOOKEEPER-3954 - use of uninitialized data in zookeeper-client/zookeeper-client-c/src/zookeeper.c:free_auth_completion
  • ZOOKEEPER-3955 - added a shebang or a 'shell' directive to lastRevision.sh
  • ZOOKEEPER-3979 - Clients can corrupt the audit log
  • ZOOKEEPER-3983 - C client test suite hangs forever 'sss' is configured in /etc/nsswitch.conf
  • ZOOKEEPER-3987 - Build failures when running surefire tests concurrently due to bind address already in use
  • ZOOKEEPER-3991 - QuorumCnxManager Listener port bind retry does not retry DNS lookup
  • ZOOKEEPER-3992 - addWatch api should check the null watch
  • ZOOKEEPER-3994 - disconnect reason wrong
  • ZOOKEEPER-4045 - CVE-2020-25649 - Upgrade jackson databind to 2.10.5.1
  • ZOOKEEPER-4050 - Zookeeper Inspector reports "List of default node viewers is empty" when not specifically run from the zookeeper-contrib/zookeeper-contrib-zooinspector directory
  • ZOOKEEPER-4055 - Dockerfile can't build Zookeeper C client library
  • ZOOKEEPER-4191 - Missing executable bits in source release tarball
  • ZOOKEEPER-4199 - Avoid thread leak in QuorumRequestPipelineTest
  • ZOOKEEPER-4200 - WatcherCleanerTest often fails on macOS Catalina
  • ZOOKEEPER-4201 - C client: SASL-related compilation issues on macOS Catalina
  • ZOOKEEPER-4205 - Test fails when port 8080 is in use
  • ZOOKEEPER-4207 - New CI pipeline checks out master in branch builds too
  • ZOOKEEPER-4219 - Quota checks break setData in multi transactions
  • ZOOKEEPER-4220 - Potential redundant connection attempts during leader election
  • ZOOKEEPER-4230 - Use dynamic temp folder instead of static temp folder in RestMain
  • ZOOKEEPER-4232 - InvalidSnapshotTest corrupts its own test data

Test [3.7.0]

  • ZOOKEEPER-3664 - test

Wish [3.7.0]

  • ZOOKEEPER-3415 - convert internal logic to use java 8 streams
  • ZOOKEEPER-3763 - Restore ZKUtil.deleteRecursive in order to help compatibility of applications with 3.5 and 3.6

Task [3.7.0]

  • ZOOKEEPER-3669 - Use switch Statement in ClientCnxn SendThread
  • ZOOKEEPER-3677 - owasp checker failing for - CVE-2019-17571 Apache Log4j 1.2 deserialization of untrusted data in SocketServer
  • ZOOKEEPER-3695 - Source release tarball does not match repository in 3.6.0
  • ZOOKEEPER-3696 - Support alternative algorithms for ACL digest
  • ZOOKEEPER-3704 - upgrade maven dependency-check to 5.3.0
  • ZOOKEEPER-3733 - Fix issues reported in 3.6.0rc3
  • ZOOKEEPER-3734 - upgrade jackson-databind to address CVE-2020-8840
  • ZOOKEEPER-3751 - upgrade jackson-databind to 2.10 from 2.9
  • ZOOKEEPER-3794 - upgrade netty to address CVE-2020-11612
  • ZOOKEEPER-3817 - owasp failing due to CVE-2020-9488
  • ZOOKEEPER-3896 - Migrate Jenkins jobs to ci-hadoop.apache.org
  • ZOOKEEPER-3957 - Create Owasp check build on new Jenkins instance
  • ZOOKEEPER-3962 - Create .asf.yaml file for ZooKeeper repo
  • ZOOKEEPER-3967 - Jetty License Update
  • ZOOKEEPER-3973 - Create configuration files GitHub Actions CI builds
  • ZOOKEEPER-3980 - Fix Jenkinsfiles with new tool names
  • ZOOKEEPER-3981 - Flaky test MultipleAddressTest::testGetValidAddressWithNotValid
  • ZOOKEEPER-4017 - Owasp check failing - Jetty 9.4.32 - CVE-2020-27216
  • ZOOKEEPER-4023 - dependency-check:check failing - Jetty 9.4.34.v20201102 - CVE-2020-27218
  • ZOOKEEPER-4056 - Update copyright notices from 2020 to 2021
  • ZOOKEEPER-4233 - dependency-check:check failing - Jetty 9.4.35.v20201120 - CVE-2020-27223

Sub-task [3.7.0]

  • ZOOKEEPER-837 - cyclic dependency ClientCnxn, ZooKeeper
  • ZOOKEEPER-3574 - Close quorum socket asynchronously to avoid server shutdown stalled by long socket closing time
  • ZOOKEEPER-3575 - Moving sending packets in Learner to a separate thread
  • ZOOKEEPER-3845 - Add metric JVM_PAUSE_TIME
  • ZOOKEEPER-3852 - Upgrade jUnit in ZooKeeper-Jute
  • ZOOKEEPER-3854 - Upgrade jUnit in ZooKeeper-Recipes
  • ZOOKEEPER-3855 - Upgrade jUnit in ZooKeeper-Metrics-providers
  • ZOOKEEPER-3856 - Add a couple metrics to track inflight diff syncs and snap syncs
  • ZOOKEEPER-3859 - Add a couple request processor metrics
  • ZOOKEEPER-3862 - Re-enable deprecation check after finishing jUnit upgrade
  • ZOOKEEPER-3872 - Upgrade jUnit in ZooKeeper-server
  • ZOOKEEPER-3953 - Update hamcrest-library to version 2.2

ZooKeeper 3.6.4

Bug Fixes [3.6.4]

  • ZOOKEEPER-1875 - NullPointerException in ClientCnxn$EventThread.processEvent
  • ZOOKEEPER-3652 - Improper synchronization in ClientCnxn
  • ZOOKEEPER-3781 - Zookeeper 3.5.7 not creating snapshot
  • ZOOKEEPER-3988 - org.apache.zookeeper.server.NettyServerCnxn.receiveMessage throws NullPointerException
  • ZOOKEEPER-4247 - NPE while processing message from restarted quorum member
  • ZOOKEEPER-4275 - Slowness in sasl login or subject.doAs() causes zk client to falsely assume that the server did not respond, closes connection and goes to unnecessary retries
  • ZOOKEEPER-4331 - zookeeper artifact is not compatible with OSGi runtime
  • ZOOKEEPER-4345 - Avoid NoSunchMethodException caused by shaded zookeeper jar
  • ZOOKEEPER-4360 - Avoid NPE during metrics execution if the leader is not set on a FOLLOWER node
  • ZOOKEEPER-4362 - ZKDatabase.txnCount logged non transactional requests
  • ZOOKEEPER-4445 - branch-3.6 txnLogCountTest use wrong version of Junit Assert import
  • ZOOKEEPER-4446 - branch-3.6 txnLogCountTest use wrong version of Junit Assert import
  • ZOOKEEPER-4452 - Log4j 1.X CVE-2022-23302/5/7 vulnerabilities
  • ZOOKEEPER-4477 - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9
  • ZOOKEEPER-4504 - ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality
  • ZOOKEEPER-4505 - CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1
  • ZOOKEEPER-4514 - ClientCnxnSocketNetty throwing NPE
  • ZOOKEEPER-4515 - ZK Cli quit command always logs error
  • ZOOKEEPER-4516 - checkstyle:check is failing
  • ZOOKEEPER-4537 - Race between SyncThread and CommitProcessor thread
  • ZOOKEEPER-4654 - Fix C client test compilation error in Util.cc.

Improvement [3.6.4]

  • ZOOKEEPER-4382 - Update Maven Bundle Plugin in order to allow builds on JDK18
  • ZOOKEEPER-4455 - Move to https://reload4j.qos.ch/ (remove log4j1)
  • ZOOKEEPER-4462 - Upgrade Netty TCNative to 2.0.48
  • ZOOKEEPER-4468 - Backport BCFKS key/trust store format support to branch 3.5
  • ZOOKEEPER-4529 - Upgrade netty to 4.1.76.Final
  • ZOOKEEPER-4531 - Revert Netty TCNative change
  • ZOOKEEPER-4551 - Do not log spammy stacktrace when a client closes its connection
  • ZOOKEEPER-4602 - Upgrade reload4j due to XXE vulnerability

Task [3.6.4]

  • ZOOKEEPER-4315 - Fix NOTICE file in the source distribution
  • ZOOKEEPER-4337 - CVE-2021-34429 in jetty 9.4.38.v20210224 in zookeeper 3.7.0
  • ZOOKEEPER-4414 - Update Netty to 4.1.70.Final
  • ZOOKEEPER-4429 - Update jackson-databind to 2.13.1
  • ZOOKEEPER-4454 - Upgrade Netty to 4.1.73
  • ZOOKEEPER-4469 - Suppress OWASP false positives related to Netty TCNative
  • ZOOKEEPER-4478 - Suppress OWASP false positives zookeeper-jute-3.8.0-SNAPSHOT.jar: CVE-2021-29425, CVE-2021-28164, CVE-2021-34429
  • ZOOKEEPER-4510 - dependency-check:check failing - reload4j-1.2.19.jar: CVE-2020-9493, CVE-2022-23307
  • ZOOKEEPER-4641 - GH CI fails with error: implicit declaration of function FIPS_mode
  • ZOOKEEPER-4644 - Update 3rd party library versions before release 3.6.4
  • ZOOKEEPER-4645 - Backport ZOOKEEPER-3941 (commons-cli upgrade) to branch-3.6
  • ZOOKEEPER-4649 - Upgrade netty to 4.1.86 because of CVE-2022-41915
  • ZOOKEEPER-4651 - Fix checkstyle problems on branch-3.6

ZooKeeper 3.6.3

Bug Fixes [3.6.3]

  • ZOOKEEPER-2307 - ZooKeeper not starting because acceptedEpoch is less than the currentEpoch
  • ZOOKEEPER-3128 - Get CLI Command displays Authentication error for Authorization error
  • ZOOKEEPER-3877 - JMX Bean RemotePeerBean should enclose IPV6 host in square bracket same as LocalPeerBean
  • ZOOKEEPER-3887 - In SSL-only server zkServer.sh status command should use secureClientPortAddress instead of clientPortAddress
  • ZOOKEEPER-3911 - Data inconsistency caused by DIFF sync uncommitted log
  • ZOOKEEPER-3931 - "zkServer.sh version" returns a trailing dash
  • ZOOKEEPER-3954 - use of uninitialized data in zookeeper-client/zookeeper-client-c/src/zookeeper.c:free_auth_completion
  • ZOOKEEPER-3955 - added a shebang or a 'shell' directive to lastRevision.sh
  • ZOOKEEPER-3983 - C client test suite hangs forever 'sss' is configured in /etc/nsswitch.conf
  • ZOOKEEPER-3991 - QuorumCnxManager Listener port bind retry does not retry DNS lookup
  • ZOOKEEPER-3992 - addWatch api should check the null watch
  • ZOOKEEPER-4011 - Maven build fails on branch-3.6 because of jUnit 5 usage in DIFFSyncConsistencyTest
  • ZOOKEEPER-4045 - CVE-2020-25649 - Upgrade jackson databind to 2.10.5.1
  • ZOOKEEPER-4055 - Dockerfile can't build Zookeeper C client library
  • ZOOKEEPER-4194 - ZooInspector throws NullPointerExceptions to console when node data is null
  • ZOOKEEPER-4205 - Test fails when port 8080 is in use
  • ZOOKEEPER-4207 - New CI pipeline checks out master in branch builds too
  • ZOOKEEPER-4220 - Potential redundant connection attempts during leader election
  • ZOOKEEPER-4222 - Backport ZOOKEEPER-2307 to branch-3.6
  • ZOOKEEPER-4223 - Backport ZOOKEEPER-3706 to branch-3.6
  • ZOOKEEPER-4224 - Backport ZOOKEEPER-3891 to branch-3.6
  • ZOOKEEPER-4225 - Backport ZOOKEEPER-3642 to branch-3.6
  • ZOOKEEPER-4227 - X509AuthFailureTest is failing consistently
  • ZOOKEEPER-4230 - Use dynamic temp folder instead of static temp folder in RestMain
  • ZOOKEEPER-4232 - InvalidSnapshotTest corrupts its own test data
  • ZOOKEEPER-4260 - Backport ZOOKEEPER-3575 to branch-3.6
  • ZOOKEEPER-4267 - Fix check-style issues
  • ZOOKEEPER-4269 - acceptedEpoch.tmp rename failure will cause server startup error
  • ZOOKEEPER-4272 - Upgrade Netty library to > 4.1.60 due to security vulnerability CVE-2021-21295
  • ZOOKEEPER-4277 - dependency-check:check failing - jetty-server-9.4.38 CVE-2021-28165
  • ZOOKEEPER-4278 - dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409

Improvement [3.6.3]

  • ZOOKEEPER-1871 - Add an option to zkCli to wait for connection before executing commands
  • ZOOKEEPER-3671 - Use ThreadLocalConcurrent to Replace Random and Math.random
  • ZOOKEEPER-3808 - correct the documentation about digest.enabled
  • ZOOKEEPER-3858 - Add metrics to track server unavailable time
  • ZOOKEEPER-3935 - Handle float metrics in check_zookeeper
  • ZOOKEEPER-3950 - Add support for BCFKS key/trust store format
  • ZOOKEEPER-3952 - Remove commons-lang from ZooKeeper
  • ZOOKEEPER-3960 - Update ZooKeeper client documentation about key file format parameters
  • ZOOKEEPER-3978 - Adding additional security metrics to zookeeper
  • ZOOKEEPER-4209 - Update Netty version to 4.1.53.Final on 3.5 branch
  • ZOOKEEPER-4231 - Add document for snapshot compression config
  • ZOOKEEPER-4259 - Allow AdminServer to force https

Task [3.6.3]

  • ZOOKEEPER-3957 - Create Owasp check build on new Jenkins instance
  • ZOOKEEPER-3980 - Fix Jenkinsfiles with new tool names
  • ZOOKEEPER-3981 - Flaky test MultipleAddressTest::testGetValidAddressWithNotValid
  • ZOOKEEPER-4017 - Owasp check failing - Jetty 9.4.32 - CVE-2020-27216
  • ZOOKEEPER-4023 - dependency-check:check failing - Jetty 9.4.34.v20201102 - CVE-2020-27218
  • ZOOKEEPER-4056 - Update copyright notices from 2020 to 2021
  • ZOOKEEPER-4233 - dependency-check:check failing - Jetty 9.4.35.v20201120 - CVE-2020-2722

Sub-task [3.6.3]

  • ZOOKEEPER-4251 - Flaky test: org.apache.zookeeper.test.WatcherTest
  • ZOOKEEPER-4270 - Flaky test: QuorumPeerMainTest#testLeaderOutOfView

ZooKeeper 3.6.2

Bug Fixes [3.6.2]

  • ZOOKEEPER-3112 - fd leak due to UnresolvedAddressException on connect.
  • ZOOKEEPER-3215 - Handle Java 9/11 additions of covariant return types to java.nio.ByteBuffer methods
  • ZOOKEEPER-3772 - JettyAdminServer should not allow HTTP TRACE method
  • ZOOKEEPER-3792 - Reconcile document site in 3.5.7 & 3.6.0
  • ZOOKEEPER-3801 - Fix Jenkins link in pom
  • ZOOKEEPER-3814 - ZooKeeper config propagates even with disabled dynamic reconfig
  • ZOOKEEPER-3818 - fix zkServer.sh status command to support SSL-only server
  • ZOOKEEPER-3829 - Zookeeper refuses request after node expansion
  • ZOOKEEPER-3830 - After add a new node, zookeeper cluster won't commit any proposal if this new node is leader
  • ZOOKEEPER-3832 - ZKHostnameVerifier rejects valid certificates with subjectAltNames
  • ZOOKEEPER-3842 - Rolling scale up of zookeeper cluster does not work with reconfigEnabled=false
  • ZOOKEEPER-3857 - ZooKeeper 3.6 doesn't build after Curator test committed
  • ZOOKEEPER-3865 - fix backward-compatibility for ZooKeeperServer constructor
  • ZOOKEEPER-3876 - zkServer.sh status command fails when IPV6 is configured
  • ZOOKEEPER-3878 - Client connection fails if IPV6 is not enclosed in square brackets
  • ZOOKEEPER-3885 - zoo_aremove_watches segfault: zk_hashtable needs locking!
  • ZOOKEEPER-3895 - Client side NullPointerException in case of empty Multi operation
  • ZOOKEEPER-3905 - Race condition causes sessions to be created for clients even though their certificate authentication has failed

Improvement [3.6.2]

  • ZOOKEEPER-3678 - Remove Redundant GroupID from Maven POMs
  • ZOOKEEPER-3679 - Upgrade maven-compiler-plugin For ZooKeeper-jute
  • ZOOKEEPER-3761 - upgrade JLine jar dependency
  • ZOOKEEPER-3790 - zkpython: Minor compilation and testing issues
  • ZOOKEEPER-3831 - Add a test that does a minimal validation of Apache Curator
  • ZOOKEEPER-3834 - Do Not Set Explicit Test Includes in POM
  • ZOOKEEPER-3844 - Add useful metrics for ZK servers
  • ZOOKEEPER-3893 - Enhance documentation for property ssl.clientAuth
  • ZOOKEEPER-3913 - Upgrade to Netty 4.1.50.Final

Task [3.6.2]

  • ZOOKEEPER-3817 - owasp failing due to CVE-2020-9488
  • ZOOKEEPER-3896 - Migrate Jenkins jobs to ci-hadoop.apache.org
  • ZOOKEEPER-3924 - Netty and JLine Licenses are inconsistent with jars in the binary tarball in 3.6.2 rc0

Sub-task [3.6.2]

  • ZOOKEEPER-3845 - Add metric JVM_PAUSE_TIME
  • ZOOKEEPER-3846 - Add a couple TLS related metrics
  • ZOOKEEPER-3847 - Add a couple metrics to help track Netty memory usage
  • ZOOKEEPER-3856 - Add a couple metrics to track inflight diff syncs and snap syncs
  • ZOOKEEPER-3813 - FileChangeWatcherTest is broken on Mac

ZooKeeper 3.6.1

Bug Fixes [3.6.1]

  • ZOOKEEPER-2164 - fast leader election keeps failing
  • ZOOKEEPER-3706 - ZooKeeper.close() would leak SendThread when the network is broken
  • ZOOKEEPER-3737 - Unable to eliminate log4j1 transitive dependency
  • ZOOKEEPER-3738 - Avoid use of broken codehaus properties-maven-plugin
  • ZOOKEEPER-3739 - Remove use of com.sun.nio.file.SensitivityWatchEventModifier
  • ZOOKEEPER-3745 - Update copyright notices from 2019 to 2020
  • ZOOKEEPER-3758 - Update from 3.5.7 to 3.6.0 does not work
  • ZOOKEEPER-3760 - remove a useless throwing CliException
  • ZOOKEEPER-3769 - fast leader election does not end if leader is taken down
  • ZOOKEEPER-3776 - Cluster stuck not forming up quorum
  • ZOOKEEPER-3778 - Cannot upgrade from 3.5.7 to 3.6.0 due to multiAddress.reachabilityCheckEnabled
  • ZOOKEEPER-3780 - restore Version.getRevision() to be backward compatible
  • ZOOKEEPER-3793 - Request throttling is broken when RequestThrottler is disabled or configured incorrectly.
  • ZOOKEEPER-3726 - invalid ipv6 address comparison in C client
  • ZOOKEEPER-3797 - Conflict between fatjar and full-build Maven profiles in branch-3.6
  • ZOOKEEPER-3802 - Fix rat checks in full-build and fatjar

New Feature [3.6.1]

  • ZOOKEEPER-3689 - zkCli/ZooKeeperMain relies on system properties for TLS config
  • ZOOKEEPER-3712 - Add setKeepAlive support for NIOServerCnxn

Improvement [3.6.1]

  • ZOOKEEPER-3685 - Use JDK Arrays Equals for Jute
  • ZOOKEEPER-3686 - Use JDK Arrays hashCode for Jute
  • ZOOKEEPER-3708 - Move Logging Code into Logging Guard in Learner
  • ZOOKEEPER-3741 - Fix ZooKeeper 3.5 C client build on Fedora8
  • ZOOKEEPER-3755 - Use maven to create fatjar
  • ZOOKEEPER-3756 - Members failing to rejoin quorum
  • ZOOKEEPER-3785 - Make sources buildable with JDK14

Wish [3.6.1]

  • ZOOKEEPER-3763 - Restore ZKUtil.deleteRecursive in order to help compatibility of applications with 3.5 and 3.6

Task [3.6.1]

  • ZOOKEEPER-3669 - Use switch Statement in ClientCnxn SendThread
  • ZOOKEEPER-3677 - owasp checker failing for - CVE-2019-17571 Apache Log4j 1.2 deserialization of untrusted data in SocketServer
  • ZOOKEEPER-3751 - upgrade jackson-databind to 2.10 from 2.9
  • ZOOKEEPER-3794 - upgrade netty to address CVE-2020-11612

ZooKeeper 3.6.0

New Feature [3.6.0]

  • ZOOKEEPER-27 - Unique DB identifiers for servers and clients
  • ZOOKEEPER-1260 - Audit logging in ZooKeeper servers.
  • ZOOKEEPER-1634 - A new feature proposal to ZooKeeper: authentication enforcement
  • ZOOKEEPER-1703 - Please add instructions for running the tutorial
  • ZOOKEEPER-1962 - Add a CLI command to recursively list a znode and children
  • ZOOKEEPER-2875 - Add ant task for running OWASP dependency report
  • ZOOKEEPER-2933 - Ability to monitor the jute.maxBuffer usage in real-time
  • ZOOKEEPER-2994 - Tool required to recover log and snapshot entries with CRC errors
  • ZOOKEEPER-3066 - Expose on JMX of Followers the id of the current leader
  • ZOOKEEPER-3091 - Prometheus.io integration
  • ZOOKEEPER-3092 - Pluggable metrics system for ZooKeeper
  • ZOOKEEPER-3114 - Built-in data consistency check inside ZooKeeper
  • ZOOKEEPER-3137 - add a utility to truncate logs to a zxid
  • ZOOKEEPER-3140 - Allow Followers to host Observers
  • ZOOKEEPER-3160 - Custom User SSLContext
  • ZOOKEEPER-3167 - add an API and the corresponding CLI to get total count of recursive sub nodes under a specific path
  • ZOOKEEPER-3209 - New getEphemerals api to get all the ephemeral nodes created by the session
  • ZOOKEEPER-3244 - Add option to snapshot based on log size
  • ZOOKEEPER-3269 - Testable facade would benefit from a queueEvent() method
  • ZOOKEEPER-3311 - Allow a delay to the transaction log flush
  • ZOOKEEPER-3331 - Automatically add IP authorization for Netty connections
  • ZOOKEEPER-3343 - Add a new doc: zookeeperTools.md
  • ZOOKEEPER-3344 - write a new script:zkSnapShotToolkit.sh to encapsulate SnapshotFormatter and doc the usage
  • ZOOKEEPER-3371 - Port unification for admin server
  • ZOOKEEPER-3447 - add a doc: zookeeperMonitor.md

Improvement [3.6.0]

  • ZOOKEEPER-3703 - publish a test JAR
  • ZOOKEEPER-3482 - SASL (Kerberos) Authentication with SSL for clients and Quorum
  • ZOOKEEPER-3567 - add SSL support for zkpython
  • ZOOKEEPER-261 - Reinitialized servers should not participate in leader election
  • ZOOKEEPER-761 - Remove synchronous calls from the single-threaded C clieant API, since they are documented not to work
  • ZOOKEEPER-974 - Configurable listen socket backlog for the client port
  • ZOOKEEPER-1177 - Enabling a large number of watches for a large number of clients
  • ZOOKEEPER-1416 - Persistent Recursive Watch
  • ZOOKEEPER-1423 - 4lw and jmx should expose the size of the datadir/datalogdir
  • ZOOKEEPER-1425 - add version command to the zookeeper client shell
  • ZOOKEEPER-1426 - add version command to the zookeeper server
  • ZOOKEEPER-1467 - Make server principal configurable at client side.
  • ZOOKEEPER-1504 - Multi-thread NIOServerCnxn
  • ZOOKEEPER-1506 - Re-try DNS hostname -> IP resolution if node connection fails
  • ZOOKEEPER-1525 - Plumb ZooKeeperServer object into auth plugins
  • ZOOKEEPER-1651 - Add support for compressed snapshot
  • ZOOKEEPER-1748 - TCP keepalive for leader election connections
  • ZOOKEEPER-1907 - Improve Thread handling
  • ZOOKEEPER-1908 - setAcl should be have a recursive function
  • ZOOKEEPER-1948 - Enable JMX remote monitoring
  • ZOOKEEPER-1963 - Make JDK 7 the minimum requirement for Zookeeper
  • ZOOKEEPER-1994 - Backup config files.
  • ZOOKEEPER-2024 - Major throughput improvement with mixed workloads
  • ZOOKEEPER-2040 - Server to log underlying cause of SASL connection problems
  • ZOOKEEPER-2079 - Stop daemon with "kill" rather than "kill -9"
  • ZOOKEEPER-2083 - Remove deprecated LE implementations
  • ZOOKEEPER-2084 - Document local session parameters
  • ZOOKEEPER-2087 - Few UX improvements in ZooInspector
  • ZOOKEEPER-2098 - QuorumCnxManager: use BufferedOutputStream for initial msg
  • ZOOKEEPER-2107 - zookeeper client should support custom HostProviders
  • ZOOKEEPER-2110 - Typo fixes in the ZK documentation
  • ZOOKEEPER-2126 - Improve exit log messsage of EventThread and SendThread by adding SessionId
  • ZOOKEEPER-2139 - Support multiple ZooKeeper client, with different configurations, in a single JVM
  • ZOOKEEPER-2140 - NettyServerCnxn and NIOServerCnxn code should be improved
  • ZOOKEEPER-2149 - Logging of client address when socket connection established
  • ZOOKEEPER-2176 - Unclear error message should be info not error
  • ZOOKEEPER-2179 - Typo in Watcher.java
  • ZOOKEEPER-2183 - Concurrent Testing Processes and Port Assignments
  • ZOOKEEPER-2185 - Run server with -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError='kill %p'.
  • ZOOKEEPER-2191 - Continue supporting prior Ant versions that don't implement the threads attribute for the JUnit task.
  • ZOOKEEPER-2194 - Let DataNode.getChildren() return an unmodifiable view of its children set
  • ZOOKEEPER-2205 - Log type of unexpected quorum packet in learner handler loop
  • ZOOKEEPER-2206 - Add missing packet types to LearnerHandler.packetToString()
  • ZOOKEEPER-2207 - Enhance error logs with LearnerHandler.packetToString()
  • ZOOKEEPER-2208 - Log type of unexpected quorum packet in observer loop
  • ZOOKEEPER-2214 - Findbugs warning: LearnerHandler.packetToString Dead store to local variable
  • ZOOKEEPER-2223 - support method-level JUnit testcase
  • ZOOKEEPER-2238 - Support limiting the maximum number of connections/clients to a zookeeper server.
  • ZOOKEEPER-2240 - Make the three-node minimum more explicit in documentation and on website
  • ZOOKEEPER-2270 - Allow MBeanRegistry to be overridden for better unit tests
  • ZOOKEEPER-2306 - Remove file delete duplicate code from test code
  • ZOOKEEPER-2315 - Change client connect zk service timeout log level from Info to Warn level
  • ZOOKEEPER-2326 - Include connected server address:port in log
  • ZOOKEEPER-2359 - ZooKeeper client has unnecessary logs for watcher removal errors
  • ZOOKEEPER-2368 - Client watches are not disconnected on close
  • ZOOKEEPER-2373 - Licenses section missing from pom file
  • ZOOKEEPER-2378 - upgrade ivy to recent version
  • ZOOKEEPER-2392 - Update netty to 3.7.1.Final
  • ZOOKEEPER-2402 - Document client side properties
  • ZOOKEEPER-2410 - add time unit to 'ELECTION TOOK' log.info message
  • ZOOKEEPER-2433 - ZooKeeperSaslServer: allow user principals in subject
  • ZOOKEEPER-2479 - Add 'electionTimeTaken' value in LeaderMXBean and FollowerMXBean
  • ZOOKEEPER-2489 - Upgrade Jetty dependency to a recent stable release version.
  • ZOOKEEPER-2505 - Use shared library instead of static library in C client unit test
  • ZOOKEEPER-2507 - C unit test improvement: line break between 'ZooKeeper server started' and 'Running'
  • ZOOKEEPER-2511 - Implement AutoCloseable in ZooKeeper.java
  • ZOOKEEPER-2557 - Update gitignore to account for other file extensions
  • ZOOKEEPER-2594 - Use TLS for downloading artifacts during build
  • ZOOKEEPER-2620 - Add comments to testReadOnlySnapshotDir and testReadOnlyTxnLogDir indicating that the tests will fail when run as root
  • ZOOKEEPER-2630 - Use interface type instead of implementation type when appropriate.
  • ZOOKEEPER-2632 - Add option to inform JIRA_PASSWORD at CLI prompt
  • ZOOKEEPER-2638 - ZooKeeper should log which serverCnxnFactory is used during startup
  • ZOOKEEPER-2641 - AvgRequestLatency metric improves to be more accurate
  • ZOOKEEPER-2655 - Improve NIOServerCnxn#isZKServerRunning to reflect the semantics correctly
  • ZOOKEEPER-2662 - Export a metric for txn log sync times
  • ZOOKEEPER-2672 - Remove CHANGE.txt
  • ZOOKEEPER-2682 - Make it optional to fail build on test failure
  • ZOOKEEPER-2697 - Handle graceful stop of ZookKeeper client
  • ZOOKEEPER-2744 - Typos in the comments of ZooKeeper class
  • ZOOKEEPER-2767 - Correct the exception messages in X509Util if truststore location or password is not configured
  • ZOOKEEPER-2788 - The define of MAX_CONNECTION_ATTEMPTS in QuorumCnxManager.java seems useless, should it be removed?
  • ZOOKEEPER-2815 - 1. Using try clause to close resource; 2. Others code refactoring for PERSISTENCE module
  • ZOOKEEPER-2816 - Code refactoring for ZK_SERVER module
  • ZOOKEEPER-2824 - FileChannel#size info should be added to FileTxnLog#commit to solve the confuse that reason is too large log or too busy disk I/O
  • ZOOKEEPER-2825 - 1. Remove unnecessary import; 2. contains instead of indexOf > -1 for more readable; 3. Standardize StringBuilder#append usage for CLIENT module
  • ZOOKEEPER-2826 - Code refactoring for CLI module
  • ZOOKEEPER-2829 - Interface usability / compatibility improvements through Java annotation.
  • ZOOKEEPER-2856 - ZooKeeperSaslClient#respondToServer should log exception message of SaslException
  • ZOOKEEPER-2864 - Add script to run a java api compatibility tool
  • ZOOKEEPER-2865 - Reconfig Causes Inconsistent Configuration file among the nodes
  • ZOOKEEPER-2870 - Improve the efficiency of AtomicFileOutputStream
  • ZOOKEEPER-2880 - Rename README.txt to README.md
  • ZOOKEEPER-2887 - define dependency versions in build.xml to be easily overridden in build.properties
  • ZOOKEEPER-2892 - Improve lazy initialize and close stream for PrepRequestProcessor
  • ZOOKEEPER-2896 - Remove unused imports from org.apache.zookeeper.test.CreateTest.java
  • ZOOKEEPER-2904 - Remove unused imports from org.apache.zookeeper.server.quorum.WatchLeakTest
  • ZOOKEEPER-2915 - Use "strict" conflict management in ivy
  • ZOOKEEPER-2950 - Add keys for the Zxid from the stat command to check_zookeeper.py
  • ZOOKEEPER-2952 - Upgrade third party libraries to address vulnerabilities
  • ZOOKEEPER-2967 - Add check to validate dataDir and dataLogDir parameters at startup
  • ZOOKEEPER-2999 - CMake build should use target-level commands
  • ZOOKEEPER-3012 - Fix unit test: testDataDirAndDataLogDir should not use hardcode test folders
  • ZOOKEEPER-3019 - Add a metric to track number of slow fsyncs
  • ZOOKEEPER-3020 - Review of SyncRequestProcessor
  • ZOOKEEPER-3037 - Add JvmPauseMonitor to ZooKeeper
  • ZOOKEEPER-3043 - QuorumKerberosHostBasedAuthTest fails on Linux box: Unable to parse:includedir /etc/krb5.conf.d/
  • ZOOKEEPER-3044 - OutOfMemoryError exceptions in Jenkins when running tests
  • ZOOKEEPER-3063 - Track outstanding changes with ArrayDeque
  • ZOOKEEPER-3068 - Improve C client logging of IPv6 hosts
  • ZOOKEEPER-3071 - Add a config parameter to control transaction log size
  • ZOOKEEPER-3077 - Build native C library outside of source directory
  • ZOOKEEPER-3078 - Remove unused print_completion_queue function
  • ZOOKEEPER-3083 - Remove some redundant and noisy log lines
  • ZOOKEEPER-3084 - Exit when ZooKeeper cannot bind to the leader election port
  • ZOOKEEPER-3085 - Define constant exit code and add documents
  • ZOOKEEPER-3094 - Make BufferSizeTest reliable
  • ZOOKEEPER-3095 - Connect string fix for non-existent hosts
  • ZOOKEEPER-3097 - Use Runnable instead of Thread for working items in WorkerService to improve the throughput of CommitProcessor
  • ZOOKEEPER-3098 - Add additional server metrics
  • ZOOKEEPER-3109 - Avoid long unavailable time due to voter changed mind when activating the leader during election
  • ZOOKEEPER-3110 - Improve the closeSession throughput in PrepRequestProcessor
  • ZOOKEEPER-3116 - Make the DataTree.approximateDataSize more efficient
  • ZOOKEEPER-3124 - Add the correct comment to show why we need the special logic to handle cversion and pzxid
  • ZOOKEEPER-3142 - Extend SnapshotFormatter to dump data in json format
  • ZOOKEEPER-3146 - Limit the maximum client connections per IP in NettyServerCnxnFactory
  • ZOOKEEPER-3152 - Port ZK netty stack to netty 4
  • ZOOKEEPER-3159 - Flaky: ClientRequestTimeoutTest.testClientRequestTimeout
  • ZOOKEEPER-3161 - Refactor QuorumPeerMainTest.java: move commonly used functions to base class
  • ZOOKEEPER-3163 - Use session map to improve the performance when closing session in Netty
  • ZOOKEEPER-3177 - Refactor request throttle logic in NIO and Netty to keep the same behavior and make the code easier to maintain
  • ZOOKEEPER-3179 - Add snapshot compression to reduce the disk IO
  • ZOOKEEPER-3180 - Add response cache to improve the throughput of read heavy traffic
  • ZOOKEEPER-3183 - Interrupting or notifying the WatcherCleaner thread during shutdown if it is waiting for dead watchers get certain number(watcherCleanThreshold) and also stop adding incoming deadWatcher to deadWatchersList when shutdown is initiated.
  • ZOOKEEPER-3188 - Improve resilience to network
  • ZOOKEEPER-3190 - Spell check on the Zookeeper server files
  • ZOOKEEPER-3195 - TLS - disable client-initiated renegotiation
  • ZOOKEEPER-3203 - Tracking and exposing the non voting followers in ZK
  • ZOOKEEPER-3208 - Remove the SSLTest.java.orig introduced in ZOOKEEPER-3032
  • ZOOKEEPER-3216 - Make init/sync limit tunable via JMX
  • ZOOKEEPER-3219 - Fix flaky FileChangeWatcherTest
  • ZOOKEEPER-3228 - [TLS] Fix key usage extension in test certs
  • ZOOKEEPER-3232 - make the log of notification about LE more readable
  • ZOOKEEPER-3234 - Add Travis-CI configuration file
  • ZOOKEEPER-3235 - Enable secure processing and disallow DTDs in the SAXParserFactory
  • ZOOKEEPER-3236 - Upgrade BouncyCastle
  • ZOOKEEPER-3237 - Allow IPv6 wildcard address in peer config
  • ZOOKEEPER-3238 - Add rel="noopener noreferrer" to target blank link in zookeeper-contrib-huebrowser
  • ZOOKEEPER-3239 - Adding EnsembleAuthProvider to verify the ensemble name
  • ZOOKEEPER-3240 - Close socket on Learner shutdown to avoid dangling socket
  • ZOOKEEPER-3242 - Add server side connecting throttling
  • ZOOKEEPER-3243 - Add server side request throttling
  • ZOOKEEPER-3245 - Add useful metrics for ZK pipeline and request/server states
  • ZOOKEEPER-3249 - Avoid reverting the cversion and pzxid during replaying txns with fuzzy snapshot
  • ZOOKEEPER-3250 - typo in doc - zookeeperInternals
  • ZOOKEEPER-3255 - add a banner to make the startup of zk server more cool
  • ZOOKEEPER-3257 - Merge count and byte update of Stat
  • ZOOKEEPER-3262 - Update dependencies flagged by OWASP report
  • ZOOKEEPER-3263 - Illegal reflective access in zookeer's kerberosUtil
  • ZOOKEEPER-3272 - Clean up netty4 code per Norman Maurer's review comments
  • ZOOKEEPER-3273 - Sync BouncyCastle version in Maven build and Ant build
  • ZOOKEEPER-3274 - Use CompositeByteBuf to queue data in NettyServerCnxn
  • ZOOKEEPER-3276 - Make X509UtilTest.testCreateSSLServerSocketWithPort less flaky
  • ZOOKEEPER-3277 - Add trace listener in NettyServerCnxnFactory only if trace logging is enabled
  • ZOOKEEPER-3291 - improve error message when JAVA_HOME is set to the wrong value
  • ZOOKEEPER-3312 - Upgrade Jetty to 9.4.15.v20190215
  • ZOOKEEPER-3314 - Document the possibility of MultiCallback receiving a null pointer
  • ZOOKEEPER-3332 - TxnLogToolkit should print multi transactions readably
  • ZOOKEEPER-3335 - Improve the usage of Collections
  • ZOOKEEPER-3339 - Improve Debug and Trace Log Statements
  • ZOOKEEPER-3340 - Introduce CircularBlockingQueue in QuorumCnxManager.java
  • ZOOKEEPER-3341 - Remove Superfluous ByteBuffer Duplicate
  • ZOOKEEPER-3347 - Improve PathTrie Consistency
  • ZOOKEEPER-3348 - Make TxnLog and TxnLog Iterator Closable
  • ZOOKEEPER-3350 - Get rid of CommonNames
  • ZOOKEEPER-3351 - Migrate qa-test-pullrequest ant task to maven
  • ZOOKEEPER-3353 - Admin commands for showing initial settings
  • ZOOKEEPER-3354 - Improve efficiency of DeleteAllCommand
  • ZOOKEEPER-3359 - Batch commits in the CommitProcessor
  • ZOOKEEPER-3360 - Misprint in WriteLock javadoc
  • ZOOKEEPER-3364 - Compile with strict options in order to check code quality
  • ZOOKEEPER-3365 - Use Concurrent HashMap in NettyServerCnxnFactory
  • ZOOKEEPER-3369 - Maven release artifacts cleanup
  • ZOOKEEPER-3370 - Remove SVN specific revision generation
  • ZOOKEEPER-3372 - Cleanup pom.xml in order to let Maven clients import as few dependencies as possible
  • ZOOKEEPER-3378 - Set the quorum cnxn timeout independently from syncLimit
  • ZOOKEEPER-3382 - Update Documentation: If you only have one storage device
  • ZOOKEEPER-3385 - Add admin command to display leader
  • ZOOKEEPER-3386 - Add admin command to display voting view
  • ZOOKEEPER-3388 - Allow client port to support plaintext and encrypted connections simultaneously
  • ZOOKEEPER-3391 - Drop unused CSVInputArchive and XMLInputArchive
  • ZOOKEEPER-3392 - Add admin command to display last snapshot information
  • ZOOKEEPER-3394 - Delay observer reconnect when all learner masters have been tried
  • ZOOKEEPER-3395 - Document individual admin commands in markdown
  • ZOOKEEPER-3396 - Flaky test in RestoreCommittedLogTest
  • ZOOKEEPER-3398 - Learner.connectToLeader() may take too long to time-out
  • ZOOKEEPER-3400 - Add documentation on local sessions
  • ZOOKEEPER-3402 - Add a multiRead operation
  • ZOOKEEPER-3411 - remove the deprecated CLI: ls2 and rmr
  • ZOOKEEPER-3416 - Remove redundant ServerCnxnFactoryAccessor
  • ZOOKEEPER-3418 - Improve quorum throughput through eager ACL checks of requests on local servers
  • ZOOKEEPER-3423 - use the maven-like way to ignore the generated version java files and doc the cmd:'./zkServer.sh version'
  • ZOOKEEPER-3430 - Observability improvement: provide top N read / write path queries
  • ZOOKEEPER-3436 - Enhance Mavenized Make C client
  • ZOOKEEPER-3437 - Improve sync throttling on a learner master
  • ZOOKEEPER-3439 - Observability improvements on client / server connection close
  • ZOOKEEPER-3448 - Introduce MessageTracker to assist debug leader and leaner connectivity issues
  • ZOOKEEPER-3453 - missing 'SET' in zkCli on windows
  • ZOOKEEPER-3457 - Code optimization in QuorumCnxManager
  • ZOOKEEPER-3459 - Add admin command to display synced state of peer
  • ZOOKEEPER-3472 - Treat check request as a write request which needs to wait for the check txn commit from leader
  • ZOOKEEPER-3473 - Improving successful TLS handshake throughput with concurrent control
  • ZOOKEEPER-3484 - Improve the throughput by optimizing the synchronization around outstandingChanges
  • ZOOKEEPER-3491 - Specify commitLogCount value using a system property
  • ZOOKEEPER-3492 - Add weights to server side connection throttling
  • ZOOKEEPER-3494 - No need to depend on netty-all (SSL)
  • ZOOKEEPER-3501 - unify the method:op2String()
  • ZOOKEEPER-3502 - improve the server command: zabstate to have a better observation on the process of leader election
  • ZOOKEEPER-3503 - Add server side large request throttling
  • ZOOKEEPER-3506 - correct the SessionTrackerImpl#initializeNextSession's javaDoc about how to generate the sessionId
  • ZOOKEEPER-3509 - Revisit log format
  • ZOOKEEPER-3519 - upgrade dependency-check to 5.2.1
  • ZOOKEEPER-3522 - Consistency guarantees discussion.
  • ZOOKEEPER-3523 - Replace dummy watcher with a unified singleton
  • ZOOKEEPER-3525 - Add project status badges to README
  • ZOOKEEPER-3530 - Include compiled C-client in the binary tarball
  • ZOOKEEPER-3532 - Provide a docker-based environment to work on a known OS
  • ZOOKEEPER-3537 - Leader election - Use of out of election messages
  • ZOOKEEPER-3548 - Redundant zxid check in SnapStream.isValidSnapshot
  • ZOOKEEPER-3560 - Add response cache to serve get children (2) requests.
  • ZOOKEEPER-3570 - make the special client xid constant
  • ZOOKEEPER-3571 - Create test base directory on test started
  • ZOOKEEPER-3593 - fix the default value of jute.maxbuffer in client side and an optimization for the documentation
  • ZOOKEEPER-3595 - Fsync parameter for serialize method is ingnored
  • ZOOKEEPER-3599 - cli.c: Resuscitate "old-style" argument parsing
  • ZOOKEEPER-3606 - add JMXHOSTNAME to zkServer.sh to enable user to change the exposed hostname of jmx service
  • ZOOKEEPER-3620 - Allow to override calls to System.exit in server side code
  • ZOOKEEPER-3630 - Autodetection of SSL library during Zookeeper C client build
  • ZOOKEEPER-3636 - find back the missing configuration property in the zookeeperAdmin page when moving from xml to markdown
  • ZOOKEEPER-3638 - Update Jetty to 9.4.24.v20191120
  • ZOOKEEPER-3640 - Implement "batch mode" in cli_mt
  • ZOOKEEPER-3648 - remove Hadoop logo in the ZooKeeper documentation
  • ZOOKEEPER-3649 - ls -s CLI need a line break

Bug Fixes [3.6.0]

  • ZOOKEEPER-3231 - Purge task may lost data when the recent snapshots are all invalid
  • ZOOKEEPER-3720 - Fix rolling upgrade failure (invalid protocol version)
  • ZOOKEEPER-3677 - Setting jute.maxbuffer value in hexadecimal throws Exception
  • ZOOKEEPER-3695 - Source release tarball does not match repository in 3.6.0
  • ZOOKEEPER-3667 - owasp checker failing for - CVE-2019-17571 Apache Log4j 1.2 deserialization of untrusted data in SocketServer
  • ZOOKEEPER-3613 - ZKConfig fails to return proper value on getBoolean()when user accidentally includes spaces at the end of the value
  • ZOOKEEPER-3699 - upgrade jackson-databind to address CVE-2019-20330
  • ZOOKEEPER-3698 - fixing NoRouteToHostException when starting large cluster locally
  • ZOOKEEPER-1936 - Server exits when unable to create data directory due to race
  • ZOOKEEPER-3701 - Split brain on log disk full
  • ZOOKEEPER-1105 - wait for server response in C client zookeeper_close
  • ZOOKEEPER-706 - large numbers of watches can cause session re-establishment to fail
  • ZOOKEEPER-1029 - C client bug in zookeeper_init (if bad hostname is given)
  • ZOOKEEPER-1077 - C client lib doesn't build on Solaris
  • ZOOKEEPER-1256 - ClientPortBindTest is failing on Mac OS X
  • ZOOKEEPER-1366 - Zookeeper should be tolerant of clock adjustments
  • ZOOKEEPER-1371 - Remove dependency on log4j in the source code.
  • ZOOKEEPER-1392 - Should not allow to read ACL when not authorized to read node
  • ZOOKEEPER-1460 - IPv6 literal address not supported for quorum members
  • ZOOKEEPER-1580 - QuorumPeer.setRunning is not used
  • ZOOKEEPER-1636 - c-client crash when zoo_amulti failed
  • ZOOKEEPER-1782 - zookeeper.superUser is not as super as superDigest
  • ZOOKEEPER-1803 - Add description for pzxid in programmer's guide.
  • ZOOKEEPER-1807 - Observers spam each other creating connections to the election addr
  • ZOOKEEPER-1818 - Fix don't care for trunk
  • ZOOKEEPER-1823 - zkTxnLogToolkit -dump should support printing transaction data as a string
  • ZOOKEEPER-1853 - zkCli.sh can't issue a CREATE command containing spaces in the data
  • ZOOKEEPER-1893 - automake: use serial-tests option
  • ZOOKEEPER-1898 - ZooKeeper Java cli shell always returns "0" as exit code
  • ZOOKEEPER-1917 - Apache Zookeeper logs cleartext admin passwords
  • ZOOKEEPER-1919 - Update the C implementation of removeWatches to have it match ZOOKEEPER-1910
  • ZOOKEEPER-1927 - zkServer.sh fails to read dataDir (and others) from zoo.cfg on Solaris 10 (grep issue, manifests as FAILED TO WRITE PID).
  • ZOOKEEPER-1932 - Remove deprecated LeaderElection class
  • ZOOKEEPER-1949 - recipes jar not included in the distribution package
  • ZOOKEEPER-1952 - Default log directory and file name can be changed
  • ZOOKEEPER-1990 - suspicious instantiation of java Random instances
  • ZOOKEEPER-1991 - zkServer.sh returns with a zero exit status when a ZooKeeper process is already running
  • ZOOKEEPER-2006 - Standalone mode won't take client port from dynamic config
  • ZOOKEEPER-2008 - System test fails due to missing leader election port
  • ZOOKEEPER-2013 - typos in zookeeperProgrammers
  • ZOOKEEPER-2014 - Only admin should be allowed to reconfig a cluster
  • ZOOKEEPER-2026 - Startup order in ServerCnxnFactory-ies is wrong
  • ZOOKEEPER-2029 - Leader.LearnerCnxAcceptor should handle exceptions in run()
  • ZOOKEEPER-2030 - dynamicConfigFile should have an absolute path, not a relative path, to the dynamic configuration file
  • ZOOKEEPER-2049 - Yosemite build failure: htonll conflict
  • ZOOKEEPER-2052 - Unable to delete a node when the node has no children
  • ZOOKEEPER-2054 - test-patch.sh: don't set ulimit -n
  • ZOOKEEPER-2056 - Zookeeper 3.4.x and 3.5.0-alpha is not OSGi compliant
  • ZOOKEEPER-2058 - rat: exclude *.cer files
  • ZOOKEEPER-2060 - Trace bug in NettyServerCnxnFactory
  • ZOOKEEPER-2062 - RemoveWatchesTest takes forever to run
  • ZOOKEEPER-2064 - Prevent resource leak in various classes
  • ZOOKEEPER-2072 - Netty Server Should Configure Child Channel Pipeline By Specifying ChannelPipelineFactory
  • ZOOKEEPER-2073 - Memory leak on zookeeper_close
  • ZOOKEEPER-2074 - Incorrect exit codes for "./zkCli.sh cmd arg"
  • ZOOKEEPER-2096 - C client builds with incorrect error codes in VisualStudio 2010+
  • ZOOKEEPER-2109 - Typo in src/c/src/load_gen.c
  • ZOOKEEPER-2111 - Not isAlive states should be synchronized in ClientCnxn
  • ZOOKEEPER-2114 - jute generated allocate_* functions are not externally visible
  • ZOOKEEPER-2116 - zkCli.sh doesn't honor host:port parameter
  • ZOOKEEPER-2124 - Allow Zookeeper version string to have underscore '_'
  • ZOOKEEPER-2133 - zkperl: Segmentation fault if getting a node with null value
  • ZOOKEEPER-2142 - JMX ObjectName is incorrect for observers
  • ZOOKEEPER-2146 - BinaryInputArchive readString should check length before allocating memory
  • ZOOKEEPER-2156 - If JAVA_HOME is not set zk startup and fetching status command execution result misleads user.
  • ZOOKEEPER-2157 - Upgrade option should be removed from zkServer.sh usage
  • ZOOKEEPER-2171 - avoid reverse lookups in QuorumCnxManager
  • ZOOKEEPER-2172 - Cluster crashes when reconfig a new node as a participant
  • ZOOKEEPER-2173 - ZK startup failure should be handled with proper error message
  • ZOOKEEPER-2174 - JUnit4ZKTestRunner logs test failure for all exceptions even if the test method is annotated with an expected exception.
  • ZOOKEEPER-2178 - Native client fails compilation on Windows.
  • ZOOKEEPER-2182 - Several test suites are not running during pre-commit, because their names do not end with "Test".
  • ZOOKEEPER-2184 - Zookeeper Client should re-resolve hosts when connection attempts fail
  • ZOOKEEPER-2186 - QuorumCnxManager#receiveConnection may crash with random input
  • ZOOKEEPER-2187 - remove duplicated code between CreateRequest{,2}
  • ZOOKEEPER-2190 - In StandaloneDisabledTest, testReconfig() shouldn't take leaving servers as joining servers
  • ZOOKEEPER-2193 - reconfig command completes even if parameter is wrong obviously
  • ZOOKEEPER-2195 - fsync.warningthresholdms in zoo.cfg not working
  • ZOOKEEPER-2197 - non-ascii character in FinalRequestProcessor.java
  • ZOOKEEPER-2198 - Set default test.junit.threads to 1.
  • ZOOKEEPER-2201 - Network issues can cause cluster to hang due to near-deadlock
  • ZOOKEEPER-2210 - clock_gettime is not available in os x
  • ZOOKEEPER-2211 - PurgeTxnLog does not correctly purge when snapshots and logs are at different locations
  • ZOOKEEPER-2212 - distributed race condition related to QV version
  • ZOOKEEPER-2213 - Empty path in Set crashes server and prevents restart
  • ZOOKEEPER-2221 - Zookeeper JettyAdminServer server should start on configured IP.
  • ZOOKEEPER-2224 - Four letter command hangs when network is slow
  • ZOOKEEPER-2227 - stmk four-letter word fails execution at server while reading trace mask argument.
  • ZOOKEEPER-2229 - Several four-letter words are undocumented.
  • ZOOKEEPER-2235 - License update
  • ZOOKEEPER-2239 - JMX State from LocalPeerBean incorrect
  • ZOOKEEPER-2243 - Supported platforms is completely out of date
  • ZOOKEEPER-2244 - On Windows zookeeper fails to restart
  • ZOOKEEPER-2245 - SimpleSysTest test cases fails
  • ZOOKEEPER-2247 - Zookeeper service becomes unavailable when leader fails to write transaction log
  • ZOOKEEPER-2249 - CRC check failed when preAllocSize smaller than node data
  • ZOOKEEPER-2251 - Add Client side packet response timeout to avoid infinite wait.
  • ZOOKEEPER-2252 - Random test case failure in org.apache.zookeeper.test.StaticHostProviderTest
  • ZOOKEEPER-2256 - Zookeeper is not using specified JMX port in zkEnv.sh
  • ZOOKEEPER-2261 - When only secureClientPort is configured connections, configuration, connection_stat_reset, and stats admin commands throw NullPointerException
  • ZOOKEEPER-2264 - Wrong error message when secureClientPortAddress is configured but secureClientPort is not configured
  • ZOOKEEPER-2269 - NullPointerException in RemotePeerBean
  • ZOOKEEPER-2279 - QuorumPeer loadDataBase() error message is incorrect
  • ZOOKEEPER-2281 - ZK Server startup fails if there are spaces in the JAVA_HOME path
  • ZOOKEEPER-2282 - chroot not stripped from path in asynchronous callbacks
  • ZOOKEEPER-2283 - traceFile property is not used in the ZooKeeper, it should be removed from documentation
  • ZOOKEEPER-2284 - LogFormatter and SnapshotFormatter does not handle FileNotFoundException gracefully
  • ZOOKEEPER-2294 - Ant target generate-clover-reports is broken
  • ZOOKEEPER-2295 - TGT refresh time logic is wrong
  • ZOOKEEPER-2297 - NPE is thrown while creating "key manager" and "trust manager"
  • ZOOKEEPER-2299 - NullPointerException in LocalPeerBean for ClientAddress
  • ZOOKEEPER-2302 - Some test cases are not running because wrongly named
  • ZOOKEEPER-2307 - ZooKeeper not starting because acceptedEpoch is less than the currentEpoch
  • ZOOKEEPER-2311 - assert in setup_random
  • ZOOKEEPER-2316 - comment does not match code logic
  • ZOOKEEPER-2317 - Non-OSGi compatible version
  • ZOOKEEPER-2319 - UnresolvedAddressException cause the QuorumCnxManager.Listener exit
  • ZOOKEEPER-2325 - Data inconsistency if all snapshots empty or missing
  • ZOOKEEPER-2330 - ZooKeeper close API does not close Login thread.
  • ZOOKEEPER-2335 - Java Compilation Error in ClientCnxn.java
  • ZOOKEEPER-2338 - c bindings should create socket's with SOCK_CLOEXEC to avoid fd leaks on fork/exec
  • ZOOKEEPER-2340 - JMX is disabled even if JMXDISABLE is false
  • ZOOKEEPER-2349 - Update documentation for snapCount
  • ZOOKEEPER-2355 - Ephemeral node is never deleted if follower fails while reading the proposal packet
  • ZOOKEEPER-2364 - "ant docs" fails on branch-3.5 due to missing releasenotes.xml.
  • ZOOKEEPER-2366 - Reconfiguration of client port causes a socket leak
  • ZOOKEEPER-2375 - Prevent multiple initialization of login object in each ZooKeeperSaslClient instance
  • ZOOKEEPER-2379 - recent commit broke findbugs qabot check
  • ZOOKEEPER-2380 - Deadlock between leader shutdown and forwarding ACK to the leader
  • ZOOKEEPER-2383 - Startup race in ZooKeeperServer
  • ZOOKEEPER-2385 - Zookeeper trunk build is failing on windows
  • ZOOKEEPER-2388 - Unit tests failing on Solaris
  • ZOOKEEPER-2393 - Revert run-time dependency on log4j and slf4j-log4j12
  • ZOOKEEPER-2405 - getTGT() in Login.java mishandles confidential information
  • ZOOKEEPER-2413 - ContainerManager doesn't close the Timer it creates when stop() is called
  • ZOOKEEPER-2418 - txnlog diff sync can skip sending some transactions to followers
  • ZOOKEEPER-2442 - Socket leak in QuorumCnxManager connectOne
  • ZOOKEEPER-2450 - Upgrade Netty version due to security vulnerability (CVE-2014-3488)
  • ZOOKEEPER-2458 - Remove license file for servlet-api dependency
  • ZOOKEEPER-2459 - Update NOTICE file with Netty notice
  • ZOOKEEPER-2460 - Remove javacc dependency from public Maven pom
  • ZOOKEEPER-2464 - NullPointerException on ContainerManager
  • ZOOKEEPER-2465 - Documentation copyright notice is out of date.
  • ZOOKEEPER-2467 - NullPointerException when redo Command is passed negative value
  • ZOOKEEPER-2470 - ServerConfig#parse(String[]) ignores tickTime
  • ZOOKEEPER-2474 - add a way for client to reattach to a session when using ZKClientConfig
  • ZOOKEEPER-2477 - documentation should refer to Java cli shell and not C cli shell
  • ZOOKEEPER-2500 - Fix compilation warnings for CliException classes
  • ZOOKEEPER-2517 - jute.maxbuffer is ignored
  • ZOOKEEPER-2536 - When provide path for "dataDir" with trailing space, it is taking correct path (by trucating space) for snapshot but creating temporary file with some junk folder name for zookeeper_server.pid
  • ZOOKEEPER-2539 - Throwing nullpointerException when run the command "config -c" when client port is mentioned as separate and not like new style
  • ZOOKEEPER-2548 - zooInspector does not start on Windows
  • ZOOKEEPER-2558 - Potential memory leak in recordio.c
  • ZOOKEEPER-2563 - A revisit to setquota
  • ZOOKEEPER-2573 - Modify Info.REVISION to adapt git repo
  • ZOOKEEPER-2574 - PurgeTxnLog can inadvertently delete required txn log files
  • ZOOKEEPER-2576 - After svn to git migration ZooKeeper Precommit jenkins job is failing.
  • ZOOKEEPER-2579 - ZooKeeper server should verify that dataDir and snapDir are writeable before starting
  • ZOOKEEPER-2581 - Not handled NullPointerException while creating key manager and trustManager
  • ZOOKEEPER-2606 - SaslServerCallbackHandler#handleAuthorizeCallback() should log the exception
  • ZOOKEEPER-2611 - zoo_remove_watchers - can remove the wrong watch
  • ZOOKEEPER-2617 - correct a few spelling typos
  • ZOOKEEPER-2621 - ZooKeeper doesn't start on MINGW32 (Windows)
  • ZOOKEEPER-2622 - ZooTrace.logQuorumPacket does nothing
  • ZOOKEEPER-2628 - Investigate and fix findbug warnings
  • ZOOKEEPER-2633 - Build failure in contrib/zkfuse with gcc 6.x
  • ZOOKEEPER-2635 - Regenerate documentation
  • ZOOKEEPER-2636 - Fix C build break.
  • ZOOKEEPER-2642 - ZooKeeper reconfig API backward compatibility fix
  • ZOOKEEPER-2647 - Fix TestReconfigServer.cc
  • ZOOKEEPER-2651 - Missing src/pom.template in release
  • ZOOKEEPER-2678 - Large databases take a long time to regain a quorum
  • ZOOKEEPER-2680 - Correct DataNode.getChildren() inconsistent behaviour.
  • ZOOKEEPER-2683 - RaceConditionTest is flaky
  • ZOOKEEPER-2684 - Fix a crashing bug in the mixed workloads commit processor
  • ZOOKEEPER-2687 - Deadlock while shutting down the Leader server.
  • ZOOKEEPER-2690 - Update documentation source for ZOOKEEPER-2574
  • ZOOKEEPER-2693 - DOS attack on wchp/wchc four letter words (4lw)
  • ZOOKEEPER-2694 - sync CLI command does not wait for result from server
  • ZOOKEEPER-2722 - Flaky Test: org.apache.zookeeper.test.ReadOnlyModeTest.testSessionEstablishment
  • ZOOKEEPER-2725 - Upgrading to a global session fails with a multiop
  • ZOOKEEPER-2726 - Patch for ZOOKEEPER-2693 introduces potential race condition
  • ZOOKEEPER-2735 - Typo fixes in some scripts
  • ZOOKEEPER-2737 - NettyServerCnxFactory leaks connection if exception happens while writing to a channel.
  • ZOOKEEPER-2743 - Netty connection leaks JMX connection bean upon connection close in certain race conditions.
  • ZOOKEEPER-2747 - Fix ZooKeeperAdmin Compilation Warning
  • ZOOKEEPER-2757 - Incorrect path crashes zkCli
  • ZOOKEEPER-2758 - Typo: transasction → transaction
  • ZOOKEEPER-2775 - ZK Client not able to connect with Xid out of order error
  • ZOOKEEPER-2777 - There is a typo in zk.py which prevents from using/compiling it.
  • ZOOKEEPER-2778 - Potential server deadlock between follower sync with leader and follower receiving external connection requests.
  • ZOOKEEPER-2785 - Server inappropriately throttles connections under load before SASL completes
  • ZOOKEEPER-2786 - Flaky test: org.apache.zookeeper.test.ClientTest.testNonExistingOpCode
  • ZOOKEEPER-2797 - Invalid TTL from misbehaving client nukes zookeeper
  • ZOOKEEPER-2798 - Fix flaky test: org.apache.zookeeper.test.ReadOnlyModeTest.testConnectionEvents
  • ZOOKEEPER-2804 - Node creation fails with NPE if ACLs are null
  • ZOOKEEPER-2806 - Flaky test: org.apache.zookeeper.server.quorum.FLEBackwardElectionRoundTest.testBackwardElectionRound
  • ZOOKEEPER-2808 - ACL with index 1 might be removed if it's only being used once
  • ZOOKEEPER-2818 - Improve the ZooKeeper#setACL java doc
  • ZOOKEEPER-2819 - Changing membership configuration via rolling restart does not work on 3.5.x.
  • ZOOKEEPER-2822 - Wrong ObjectName about MBeanServer in JMX module
  • ZOOKEEPER-2841 - ZooKeeper public include files leak porting changes
  • ZOOKEEPER-2845 - Data inconsistency issue due to retain database in leader election
  • ZOOKEEPER-2847 - Cannot bind to client port when reconfig based on old static config
  • ZOOKEEPER-2852 - Snapshot size factor is not read from system property
  • ZOOKEEPER-2853 - The lastZxidSeen in FileTxnLog.java is never being assigned
  • ZOOKEEPER-2859 - CMake build doesn't support OS X
  • ZOOKEEPER-2861 - Main-Class JAR manifest attribute is incorrect
  • ZOOKEEPER-2862 - Incorrect javadoc syntax for web links in StaticHostProvider.java
  • ZOOKEEPER-2874 - Windows Debug builds don't link with /MTd
  • ZOOKEEPER-2886 - Permanent session moved error in multi-op only connections
  • ZOOKEEPER-2890 - Local automatic variable is left uninitialized and then freed.
  • ZOOKEEPER-2891 - Invalid processing of zookeeper_close for mutli-request
  • ZOOKEEPER-2893 - very poor choice of logging if client fails to connect to server
  • ZOOKEEPER-2894 - Memory and completions leak on zookeeper_close
  • ZOOKEEPER-2901 - Session ID that is negative causes mis-calculation of Ephemeral Type
  • ZOOKEEPER-2905 - Don't include config.h in zookeeper.h
  • ZOOKEEPER-2906 - The OWASP dependency check jar should not be included in the default classpath
  • ZOOKEEPER-2909 - Create ant task to generate ivy dependency reports
  • ZOOKEEPER-2913 - testEphemeralNodeDeletion is flaky
  • ZOOKEEPER-2914 - compiler warning using java 9
  • ZOOKEEPER-2920 - Upgrade OWASP Dependency Check to 3.2.1
  • ZOOKEEPER-2923 - The comment of the variable matchSyncs in class CommitProcessor has a mistake.
  • ZOOKEEPER-2924 - Flaky Test: org.apache.zookeeper.test.LoadFromLogTest.testRestoreWithTransactionErrors
  • ZOOKEEPER-2926 - Data inconsistency issue due to the flaw in the session management
  • ZOOKEEPER-2931 - WriteLock recipe: incorrect znode ordering when the sessionId is part of the znode name
  • ZOOKEEPER-2934 - c versions of election and queue recipes do not compile
  • ZOOKEEPER-2936 - Duplicate Keys in log4j.properties config files
  • ZOOKEEPER-2944 - Specify correct overflow value
  • ZOOKEEPER-2948 - Failing c unit tests on apache jenkins
  • ZOOKEEPER-2949 - SSL ServerName not set when using hostname, some proxies may failed to proxy the request.
  • ZOOKEEPER-2951 - zkServer.cmd does not start when JAVA_HOME ends with a \
  • ZOOKEEPER-2953 - Flaky Test: testNoLogBeforeLeaderEstablishment
  • ZOOKEEPER-2959 - ignore accepted epoch and LEADERINFO ack from observers when a newly elected leader computes new epoch
  • ZOOKEEPER-2961 - Fix testElectionFraud Flakyness
  • ZOOKEEPER-2964 - "Conf" command returns dataDir and dataLogDir opposingly
  • ZOOKEEPER-2978 - fix potential null pointer exception when deleting node
  • ZOOKEEPER-2982 - Re-try DNS hostname -> IP resolution
  • ZOOKEEPER-2988 - NPE triggered if server receives a vote for a server id not in their voting view
  • ZOOKEEPER-2992 - The eclipse build target fails due to protocol redirection: http->https
  • ZOOKEEPER-2993 - .ignore file prevents adding src/java/main/org/apache/jute/compiler/generated dir to git repo
  • ZOOKEEPER-2997 - CMake should not force static CRT linking
  • ZOOKEEPER-2998 - CMake declares incorrect ZooKeeper version
  • ZOOKEEPER-3001 - Incorrect log message when try to delete container node
  • ZOOKEEPER-3006 - Potential NPE in ZKDatabase#calculateTxnLogSizeLimit
  • ZOOKEEPER-3007 - Potential NPE in ReferenceCountedACLCache#deserialize
  • ZOOKEEPER-3009 - Potential NPE in NIOServerCnxnFactory
  • ZOOKEEPER-3025 - cmake windows build is broken on jenkins
  • ZOOKEEPER-3027 - Accidently removed public API of FileTxnLog.setPreallocSize()
  • ZOOKEEPER-3034 - Facing issues while building from source
  • ZOOKEEPER-3038 - Cleanup some nitpicks in TTL implementation
  • ZOOKEEPER-3039 - TxnLogToolkit uses Scanner badly
  • ZOOKEEPER-3041 - Typo in error message, affects log analysis
  • ZOOKEEPER-3050 - owasp ant target is highlighting jetty version needs to be updated
  • ZOOKEEPER-3051 - owasp complaining about jackson version used
  • ZOOKEEPER-3056 - Fails to load database with missing snapshot file but valid transaction log file
  • ZOOKEEPER-3057 - Fix IPv6 literal usage
  • ZOOKEEPER-3059 - EventThread leak in case of Sasl AuthFailed
  • ZOOKEEPER-3072 - Race condition in throttling
  • ZOOKEEPER-3079 - Fix unsafe use of sprintf(3) for creating IP address strings
  • ZOOKEEPER-3082 - Fix server snapshot behavior when out of disk space
  • ZOOKEEPER-3093 - sync zerror(int rc) with newest error definitions
  • ZOOKEEPER-3104 - Potential data inconsistency due to NEWLEADER packet being sent too early during SNAP sync
  • ZOOKEEPER-3105 - Character coding problem occur when create a node using python3
  • ZOOKEEPER-3113 - EphemeralType.get() fails to verify ephemeralOwner when currentElapsedTime() is small enough
  • ZOOKEEPER-3117 - Correct the LeaderBean.followerInfo to only return the followers list
  • ZOOKEEPER-3125 - Pzxid inconsistent issue when replaying a txn for a deleted node
  • ZOOKEEPER-3127 - Fixing potential data inconsistency due to update last processed zxid with partial multi-op txn
  • ZOOKEEPER-3131 - org.apache.zookeeper.server.WatchManager resource leak
  • ZOOKEEPER-3144 - Potential ephemeral nodes inconsistent due to global session inconsistent with fuzzy snapshot
  • ZOOKEEPER-3145 - Potential watch missing issue due to stale pzxid when replaying CloseSession txn with fuzzy snapshot
  • ZOOKEEPER-3156 - ZOOKEEPER-2184 causes kerberos principal to not have resolved host name
  • ZOOKEEPER-3162 - Broken lock semantics in C client lock-recipe
  • ZOOKEEPER-3210 - Typo in zookeeperInternals doc
  • ZOOKEEPER-3212 - Fix website with adding doap.rdf back
  • ZOOKEEPER-3217 - owasp job flagging slf4j on trunk
  • ZOOKEEPER-3218 - zk server reopened,the interval for observer connect to the new leader is too long,then session expired
  • ZOOKEEPER-3253 - client should not send requests with cxid=-4, -2, or -1
  • ZOOKEEPER-3265 - Build failure on branch-3.4
  • ZOOKEEPER-3296 - Cannot join quorum due to Quorum SSLSocket connection not closed explicitly when there is handshake issue
  • ZOOKEEPER-3306 - Node may not accessible due the the inconsistent ACL reference map after SNAP sync
  • ZOOKEEPER-3320 - Leader election port stop listen when hostname unresolvable for some time
  • ZOOKEEPER-3356 - Request throttling in Netty is not working as expected and could cause direct buffer OOM issue
  • ZOOKEEPER-3373 - need change description for "Single System Image" guarantee in document
  • ZOOKEEPER-3399 - Remove logging in getGlobalOutstandingLimit for optimal performance.
  • ZOOKEEPER-3404 - BouncyCastle upgrade to 1.61 might cause flaky test issues
  • ZOOKEEPER-3405 - owasp flagging jackson-databind
  • ZOOKEEPER-3433 - zkpython build broken after maven migration
  • ZOOKEEPER-3440 - Fix Apache RAT check by excluding binary files (images)
  • ZOOKEEPER-3471 - Potential lock unavailable due to dangling ephemeral nodes left during local session upgrading
  • ZOOKEEPER-3479 - Logging false leader election times
  • ZOOKEEPER-3496 - Transaction larger than jute.maxbuffer makes ZooKeeper unavailable
  • ZOOKEEPER-3498 - In zookeeper-jute project generated source should not be in target\classes folder
  • ZOOKEEPER-3510 - Frequent 'zkServer.sh stop' failures when running C test suite
  • ZOOKEEPER-3518 - owasp check flagging jackson-databind 2.9.9.1
  • ZOOKEEPER-3531 - Synchronization on ACLCache cause cluster to hang when network/disk issues happen during datatree serialization
  • ZOOKEEPER-3540 - Client port unavailable after binding the same client port during reconfig
  • ZOOKEEPER-3546 - Containers that never have children stay forever
  • ZOOKEEPER-3559 - Update Jackson to 2.9.10
  • ZOOKEEPER-3563 - dependency check failing on 3.4 and 3.5 branches - CVE-2019-16869 on Netty
  • ZOOKEEPER-3590 - Zookeeper is unable to set the zookeeper.sasl.client.canonicalize.hostname using system variable
  • ZOOKEEPER-3605 - ZOOKEEPER-3242 add a connection throttle. Default constructor needs to set it
  • ZOOKEEPER-3633 - AdminServer commands throw NPE when only secure client port is used
  • ZOOKEEPER-3641 - New ZOO_VERSION define breaks Perl & Python contribs
  • ZOOKEEPER-3644 - Data loss after upgrading standalone ZK server 3.4.14 to 3.5.6 with snapshot.trust.empty=true
  • ZOOKEEPER-3651 - NettyServerCnxnFactoryTest is flaky
  • ZOOKEEPER-3653 - Audit Log feature fails in a stand alone zookeeper setup

Test [3.6.0]

  • ZOOKEEPER-`1441 - Some test cases are failing because Port bind issue.
  • ZOOKEEPER-2017 - New tests for reconfig failure cases
  • ZOOKEEPER-2204 - LearnerSnapshotThrottlerTest.testHighContentionWithTimeout fails occasionally
  • ZOOKEEPER-2415 - SessionTest is using Thread deprecated API.
  • ZOOKEEPER-2484 - Flaky Test: org.apache.zookeeper.test.LoadFromLogTest.testLoadFailure
  • ZOOKEEPER-2508 - Many ZooKeeper tests are flaky because they proceed with zk operation without connecting to ZooKeeper server.
  • ZOOKEEPER-2577 - Flaky Test: org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest.testDuringLeaderSync
  • ZOOKEEPER-2656 - Fix ServerConfigTest#testValidArguments test case failures
  • ZOOKEEPER-2664 - ClientPortBindTest#testBindByAddress may fail due to "No such device" exception
  • ZOOKEEPER-2686 - Flaky Test: org.apache.zookeeper.test.WatcherTest.
  • ZOOKEEPER-2716 - Flaky Test: org.apache.zookeeper.server.SessionTrackerTest.testAddSessionAfterSessionExpiry
  • ZOOKEEPER-2718 - org.apache.zookeeper.server.quorum.StandaloneDisabledTest fails intermittently
  • ZOOKEEPER-2742 - Few test cases of org.apache.zookeeper.ZooKeeperTest fails in Windows
  • ZOOKEEPER-2746 - Leader hand-off during dynamic reconfig is best effort, while test always expects it
  • ZOOKEEPER-2796 - Test org.apache.zookeeper.ZooKeeperTest.testCreateNodeWithoutData is broken by ZOOKEEPER-2757
  • ZOOKEEPER-2955 - Enable Clover code coverage report
  • ZOOKEEPER-2968 - Add C client code coverage tests
  • ZOOKEEPER-3074 - Flaky test:org.apache.zookeeper.server.ServerStatsTest.testLatencyMetrics
  • ZOOKEEPER-3157 - Improve FuzzySnapshotRelatedTest to avoid flaky due to issues like connection loss
  • ZOOKEEPER-3205 - Jute - o.a.jute.BinaryInputArchive Test cases
  • ZOOKEEPER-3455 - Java 13 build failure on trunk: UnifiedServerSocketTest.testConnectWithoutSSLToStrictServer
  • ZOOKEEPER-3480 - Flaky test CommitProcessorMetricsTest.testConcurrentRequestProcessingInCommitProcessor
  • ZOOKEEPER-3495 - Broken test in JDK12+: SnapshotDigestTest.testDifferentDigestVersion
  • ZOOKEEPER-3542 - X509UtilTest#testClientRenegotiationFails is flaky on JDK8 + linux on machines with 2 cores

Wish [3.6.0]

  • ZOOKEEPER-2795 - Change log level for "ZKShutdownHandler is not registered" error message
  • ZOOKEEPER-3073 - fix couple of typos
  • ZOOKEEPER-3302 - ZooKeeper C client does not compile on Fedora 29
  • ZOOKEEPER-3421 - Better insight into Observer connections

Task [3.6.0]

  • ZOOKEEPER-3733 - Fix issues reported in 3.6.0rc3
  • ZOOKEEPER-3734 - upgrade jackson-databind to address CVE-2020-8840
  • ZOOKEEPER-3715 - fix Kerberos test failures for new JDK versions
  • ZOOKEEPER-3716 - upgrade netty 4.1.42 to address CVE-2019-20444 CVE-2019-20445
  • ZOOKEEPER-3708 - Move Logging Code into Logging Guard in Learner
  • ZOOKEEPER-3669 - Use switch Statement in ClientCnxn SendThread
  • ZOOKEEPER-3704 - upgrade maven dependency-check to 5.3.0
  • ZOOKEEPER-925 - Consider maven site generation to replace our forrest site and documentation generation
  • ZOOKEEPER-1604 - remove rpm/deb/... packaging
  • ZOOKEEPER-2658 - Trunk / branch-3.5 build broken.
  • ZOOKEEPER-2709 - Clarify documentation around "auth" ACL scheme
  • ZOOKEEPER-3002 - Upgrade branches 3.5 and trunk to Java 1.8
  • ZOOKEEPER-3017 - Link libm in CMake on FreeBSD
  • ZOOKEEPER-3061 - add more details to 'Unhandled scenario for peer' log.warn message
  • ZOOKEEPER-3062 - introduce fsync.warningthresholdms constant for FileTxnLog LOG.warn message
  • ZOOKEEPER-3067 - Optionally suppress client environment logging.
  • ZOOKEEPER-3087 - Fix findbug warning introduced by ZOOKEEPER-3084.
  • ZOOKEEPER-3120 - add NetBeans nbproject directory to .gitignore
  • ZOOKEEPER-3136 - Reduce log in ClientBase in case of ConnectException
  • ZOOKEEPER-3197 - Improve documentation in ZooKeeperServer.superSecret
  • ZOOKEEPER-3230 - Add Apache NetBeans Maven project files to .gitignore
  • ZOOKEEPER-3362 - Create a simple checkstyle file
  • ZOOKEEPER-3406 - Update website for new mailing lists
  • ZOOKEEPER-3407 - Update POM file with new information
  • ZOOKEEPER-3431 - Enable BookKeeper checkstyle configuration
  • ZOOKEEPER-3441 - OWASP is flagging jackson-databind-2.9.9.jar for CVE-2019-12814
  • ZOOKEEPER-3545 - Fix LICENSE files for netty dependency
  • ZOOKEEPER-3668 - Clean up release package for 3.6.0

Sub-task [3.6.0]

  • ZOOKEEPER-169 - Content needed: "Connecting to ZooKeeper"
  • ZOOKEEPER-236 - SSL Support for Atomic Broadcast protocol
  • ZOOKEEPER-1626 - Zookeeper C client should be tolerant of clock adjustments
  • ZOOKEEPER-1660 - Add documentation for dynamic reconfiguration
  • ZOOKEEPER-1872 - QuorumPeer is not shutdown in few cases
  • ZOOKEEPER-2047 - testTruncationNullLog fails on windows
  • ZOOKEEPER-2069 - Netty Support for ClientCnxnSocket
  • ZOOKEEPER-2080 - Fix deadlock in dynamic reconfiguration
  • ZOOKEEPER-2119 - Netty client docs
  • ZOOKEEPER-2122 - Impplement SSL support in the Zookeeper C client library
  • ZOOKEEPER-2123 - Provide implementation of X509 AuthenticationProvider
  • ZOOKEEPER-2125 - SSL on Netty client-server communication
  • ZOOKEEPER-2134 - AsyncHammerTest.testHammer fails intermittently
  • ZOOKEEPER-2137 - Make testPortChange() less flaky
  • ZOOKEEPER-2152 - Intermittent failure in TestReconfig.cc
  • ZOOKEEPER-2153 - X509 Authentication Documentation
  • ZOOKEEPER-2168 - Add C APIs for new createContainer Methods
  • ZOOKEEPER-2396 - Login object in ZooKeeperSaslClient is static
  • ZOOKEEPER-2608 - Create CLI option for TTL ephemerals
  • ZOOKEEPER-2609 - Add TTL Node APIs to C client
  • ZOOKEEPER-2692 - Fix race condition in testWatchAutoResetWithPending
  • ZOOKEEPER-2707 - Fix "Unexpected bean exists!" issue in WatcherTests
  • ZOOKEEPER-2750 - Document SSL Support for Atomic Broadcast protocol
  • ZOOKEEPER-2753 - Introduce a python script for generating flaky test report
  • ZOOKEEPER-2754 - Set up Apache Jenkins job that runs the flaky test analyzer script.
  • ZOOKEEPER-2935 - [QP MutualAuth]: Port ZOOKEEPER-1045 implementation from branch-3.5 to trunk
  • ZOOKEEPER-2939 - Deal with maxbuffer as it relates to proposals
  • ZOOKEEPER-2940 - Deal with maxbuffer as it relates to large requests from clients
  • ZOOKEEPER-3022 - Step 1.1 - Create docs and it maven structure
  • ZOOKEEPER-3028 - Create assembly in pom.xml
  • ZOOKEEPER-3029 - Create pom files for jute, server and client
  • ZOOKEEPER-3030 - Step 1.3 - Create zk-contrib maven structure
  • ZOOKEEPER-3031 - Step 1.4 - Create zk-client maven structure
  • ZOOKEEPER-3032 - Step 1.6 - Create zk-server maven structure
  • ZOOKEEPER-3033 - Step 1.2 - Create zk-recipes maven structure
  • ZOOKEEPER-3046 - testManyChildWatchersAutoReset is flaky
  • ZOOKEEPER-3080 - Step 1.5 - Separate jute structure
  • ZOOKEEPER-3103 - Pluggable metrics system for ZooKeeper - MetricsProvider API definition
  • ZOOKEEPER-3123 - MetricsProvider Lifecycle in ZooKeeper Server
  • ZOOKEEPER-3143 - Pluggable metrics system for ZooKeeper - Data Collection on Server
  • ZOOKEEPER-3150 - Data integrity check when loading snapshot/txns from disk
  • ZOOKEEPER-3153 - Create MarkDown files and build process for them
  • ZOOKEEPER-3154 - Update release process to use the MarkDown solution
  • ZOOKEEPER-3155 - Remove Forrest XMLs and their build process from the project
  • ZOOKEEPER-3171 - Create pom.xml for recipes and contrib
  • ZOOKEEPER-3172 - Quorum TLS - fix port unification to allow rolling upgrades
  • ZOOKEEPER-3173 - Quorum TLS - support PEM trust/key stores
  • ZOOKEEPER-3174 - Quorum TLS - support reloading trust/key store
  • ZOOKEEPER-3175 - Quorum TLS - test improvements
  • ZOOKEEPER-3176 - Quorum TLS - add SSL config options
  • ZOOKEEPER-3193 - Flaky: org.apache.zookeeper.test.SaslAuthFailNotifyTest
  • ZOOKEEPER-3194 - Quorum TLS - fix copy/paste bug in ZKTrustManager
  • ZOOKEEPER-3202 - Flaky test: org.apache.zookeeper.test.ClientSSLTest.testClientServerSSL
  • ZOOKEEPER-3222 - Flaky: multiple intermittent segfaults in C++ tests
  • ZOOKEEPER-3223 - Configure Spotbugs
  • ZOOKEEPER-3224 - CI integration with maven
  • ZOOKEEPER-3225 - Create code coverage analysis with maven build
  • ZOOKEEPER-3226 - Activate C Client with a profile, disabled by default
  • ZOOKEEPER-3229 - [TLS] add AES-256 ciphers to default cipher list
  • ZOOKEEPER-3233 - Run github pre-commit hook tests on 4 threads
  • ZOOKEEPER-3251 - Add new server metric types: percentile counter and counter set
  • ZOOKEEPER-3256 - Enable OWASP checks to Maven build
  • ZOOKEEPER-3267 - Add watcher metrics
  • ZOOKEEPER-3268 - Add commit processor metrics
  • ZOOKEEPER-3275 - Fix release targets: package, tar, mvn-deploy
  • ZOOKEEPER-3285 - Move assembly into its own sub-module
  • ZOOKEEPER-3288 - add a new doc:ZookeeperCLI.md
  • ZOOKEEPER-3305 - Add Quorum Packet metrics
  • ZOOKEEPER-3309 - Add sync processor metrics
  • ZOOKEEPER-3310 - Add metrics for prep processor
  • ZOOKEEPER-3319 - Add metrics for follower and observer
  • ZOOKEEPER-3321 - Add metrics for Leader
  • ZOOKEEPER-3323 - Add TxnSnapLog metrics
  • ZOOKEEPER-3324 - Add read/write metrics for top level znodes
  • ZOOKEEPER-3326 - Add session/connection related metrics
  • ZOOKEEPER-3327 - Add unrecoverable error count
  • ZOOKEEPER-3366 - Pluggable metrics system for ZooKeeper - move remaining metrics to MetricsProvider
  • ZOOKEEPER-3379 - De-flaky test in Quorum Packet Metrics
  • ZOOKEEPER-3383 - Improve prep processor metric accuracy and de-flaky unit test
  • ZOOKEEPER-3401 - Fix metric PROPOSAL_ACK_CREATION_LATENCY
  • ZOOKEEPER-3409 - Compile Java code with -Xdoclint
  • ZOOKEEPER-3443 - Add support for PKCS12 trust/key stores
  • ZOOKEEPER-3465 - Introduce BookKeeper checkstyle configuration
  • ZOOKEEPER-3470 - Flaky test: LearnerMetricsTest.testLearnerMetricsTest()
  • ZOOKEEPER-3474 - Enable BookKeeper checkstyle configuration on zookeeper-promethus
  • ZOOKEEPER-3475 - Enable BookKeeper checkstyle configuration on zookeeper-server
  • ZOOKEEPER-3512 - Real time data integrity check during broadcast time
  • ZOOKEEPER-3517 - Turn on BookKeeper checkstyle configuration at project level
  • ZOOKEEPER-3528 - Revisit AsyncCallback javadoc
  • ZOOKEEPER-3529 - add a new doc: zookeeperUseCases.md

ZooKeeper 3.5.10

Bug [3.5.10]

  • ZOOKEEPER-3642 - Data inconsistency when the leader crashes right after sending SNAP sync
  • ZOOKEEPER-3652 - Improper synchronization in ClientCnxn
  • ZOOKEEPER-3706 - ZooKeeper.close() would leak SendThread when the network is broken
  • ZOOKEEPER-3781 - Zookeeper 3.5.7 not creating snapshot
  • ZOOKEEPER-3876 - zkServer.sh status command fails when IPV6 is configured
  • ZOOKEEPER-3877 - JMX Bean RemotePeerBean should enclose IPV6 host in square bracket same as LocalPeerBean
  • ZOOKEEPER-3887 - In SSL-only server zkServer.sh status command should use secureClientPortAddress instead of clientPortAddress
  • ZOOKEEPER-4207 - New CI pipeline checks out master in branch builds too
  • ZOOKEEPER-4220 - Potential redundant connection attempts during leader election
  • ZOOKEEPER-4232 - InvalidSnapshotTest corrupts its own test data
  • ZOOKEEPER-4262 - Backport ZOOKEEPER-3911 to branch-3.5 (Data inconsistency caused by DIFF sync uncommitted log)
  • ZOOKEEPER-4269 - acceptedEpoch.tmp rename failure will cause server startup error
  • ZOOKEEPER-4275 - Slowness in sasl login or subject.doAs() causes zk client to falsely assume that the server did not respond, closes connection and goes to unnecessary retries
  • ZOOKEEPER-4331 - zookeeper artifact is not compatible with OSGi runtime
  • ZOOKEEPER-4345 - Avoid NoSunchMethodException caused by shaded zookeeper jar
  • ZOOKEEPER-4356 - Code blocks do not render correctly in ZK docs site
  • ZOOKEEPER-4367 - Zookeeper#Login thread leak in case of Sasl AuthFailed.
  • ZOOKEEPER-4377 - KeeperException.create has NullPointerException when low version client requests the high version server
  • ZOOKEEPER-4433 - Backport ZOOKEEPER-2872 for branch-3.5 (Interrupted snapshot sync causes data loss)
  • ZOOKEEPER-4477 - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9
  • ZOOKEEPER-4514 - ClientCnxnSocketNetty throwing NPE

New Feature [3.5.10]

None

Improvement [3.5.10]

  • ZOOKEEPER-3161 - Refactor QuorumPeerMainTest.java: move commonly used functions to base class
  • ZOOKEEPER-3392 - Add admin command to display last snapshot information
  • ZOOKEEPER-3459 - Add admin command to display synced state of peer
  • ZOOKEEPER-4202 - Add JvmPauseMonitor to ZooKeeper on branch 3.5
  • ZOOKEEPER-4382 - Update Maven Bundle Plugin in order to allow builds on JDK18
  • ZOOKEEPER-4434 - Backport ZOOKEEPER-3142 for branch-3.5 (Extend SnapshotFormatter to dump data in json format)
  • ZOOKEEPER-4455 - Move to https://reload4j.qos.ch/ (remove log4j1)
  • ZOOKEEPER-4468 - Backport BCFKS key/trust store format support to branch 3.5

Task [3.5.10]

  • ZOOKEEPER-4209 - Update Netty version to 4.1.53.Final on 3.5 branch
  • ZOOKEEPER-4214 - Update Ivy Netty version to 4.1.59.Final
  • ZOOKEEPER-4233 - dependency-check:check failing - Jetty 9.4.35.v20201120 - CVE-2020-27223
  • ZOOKEEPER-4272 - Upgrade Netty library to > 4.1.60 due to security vulnerability CVE-2021-21295
  • ZOOKEEPER-4277 - dependency-check:check failing - jetty-server-9.4.38 CVE-2021-28165
  • ZOOKEEPER-4337 - CVE-2021-34429 in jetty 9.4.38.v20210224 in zookeeper 3.7.0
  • ZOOKEEPER-4385 - Backport ZOOKEEPER-4278 to branch-3.5 to Address CVE-2021-21409
  • ZOOKEEPER-4414 - Update Netty to 4.1.70.Final
  • ZOOKEEPER-4429 - Update jackson-databind to 2.13.1
  • ZOOKEEPER-4454 - Upgrade Netty to 4.1.73
  • ZOOKEEPER-4510 - dependency-check:check failing - reload4j-1.2.19.jar: CVE-2020-9493, CVE-2022-23307
  • ZOOKEEPER-4543 - upgrade dependencies on branch-3.5 to avoid CVEs
  • ZOOKEEPER-4544 - sync ant and maven dependencies on branch-3.5

Sub-task [3.5.10]

  • ZOOKEEPER-4251 - Flaky test: org.apache.zookeeper.test.WatcherTest
  • ZOOKEEPER-4270 - Flaky test: QuorumPeerMainTest#testLeaderOutOfView

ZooKeeper 3.5.9

Bug Fixes [3.5.9]

  • ZOOKEEPER-3112 - fd leak due to UnresolvedAddressException on connect.
  • ZOOKEEPER-3772 - JettyAdminServer should not allow HTTP TRACE method
  • ZOOKEEPER-3792 - Reconcile document site in 3.5.7 & 3.6.0
  • ZOOKEEPER-3801 - Fix Jenkins link in pom
  • ZOOKEEPER-3814 - ZooKeeper config propagates even with disabled dynamic reconfig
  • ZOOKEEPER-3818 - fix zkServer.sh status command to support SSL-only server
  • ZOOKEEPER-3829 - Zookeeper refuses request after node expansion
  • ZOOKEEPER-3830 - After add a new node, zookeeper cluster won't commit any proposal if this new node is leader
  • ZOOKEEPER-3832 - ZKHostnameVerifier rejects valid certificates with subjectAltNames
  • ZOOKEEPER-3842 - Rolling scale up of zookeeper cluster does not work with reconfigEnabled=false
  • ZOOKEEPER-3865 - fix backward-compatibility for ZooKeeperServer constructor
  • ZOOKEEPER-3885 - zoo_aremove_watches segfault: zk_hashtable needs locking!
  • ZOOKEEPER-3905 - Race condition causes sessions to be created for clients even though their certificate authentication has failed
  • ZOOKEEPER-3954 - use of uninitialized data in zookeeper-client/zookeeper-client-c/src/zookeeper.c:free_auth_completion
  • ZOOKEEPER-4045 - CVE-2020-25649 - Upgrade jackson databind to 2.10.5.1

Improvement [3.5.9]

  • ZOOKEEPER-3761 - upgrade JLine jar dependency
  • ZOOKEEPER-3834 - Do Not Set Explicit Test Includes in POM
  • ZOOKEEPER-3886 - Client connection string should support IPV6 with or without enclosed in square bracket.
  • ZOOKEEPER-3893 - Enhance documentation for property ssl.clientAuth
  • ZOOKEEPER-3960 - Update ZooKeeper client documentation about key file format parameters

Task [3.5.9]

  • ZOOKEEPER-1634 - A new feature proposal to ZooKeeper: authentication enforcement
  • ZOOKEEPER-3896 - Migrate Jenkins jobs to ci-hadoop.apache.org
  • ZOOKEEPER-3925 - Update Netty to 4.1.50Final on 3.5 branch
  • ZOOKEEPER-4017 - Owasp check failing - Jetty 9.4.32 - CVE-2020-27216
  • ZOOKEEPER-4023 - Owasp check failing - Jetty 9.4.34.v20201102 - CVE-2020-27218

ZooKeeper 3.5.8

Bug Fixes [3.5.8]

  • ZOOKEEPER-1677 - Misuse of INET_ADDRSTRLEN
  • ZOOKEEPER-2164 - Fast leader election keeps failing
  • ZOOKEEPER-2307 - ZooKeeper not starting because acceptedEpoch is less than the currentEpoch
  • ZOOKEEPER-2490 - Infinitely connect on windows
  • ZOOKEEPER-3215 - Handle Java 9/11 additions of covariant return types to java.nio.ByteBuffer methods
  • ZOOKEEPER-3726 - Invalid ipv6 address comparison in C client
  • ZOOKEEPER-3737 - Unable to eliminate log4j1 transitive dependency
  • ZOOKEEPER-3739 - Remove use of com.sun.nio.file.SensitivityWatchEventModifier
  • ZOOKEEPER-3756 - Members failing to rejoin quorum
  • ZOOKEEPER-3760 - Remove a useless throwing CliException
  • ZOOKEEPER-3769 - Fast leader election does not end if leader is taken down
  • ZOOKEEPER-3780 - Restore Version.getRevision() to be backward compatible

Improvement [3.5.8]

  • ZOOKEEPER-2779 - Add option to not set ACL for reconfig node
  • ZOOKEEPER-3355 - Remove tbd From Docs
  • ZOOKEEPER-3357 - Remove Dead Link from ZooKeeper Programmer's Guide
  • ZOOKEEPER-3678 - Remove Redundant GroupID from Maven POMs
  • ZOOKEEPER-3679 - Upgrade maven-compiler-plugin For ZooKeeper-jute
  • ZOOKEEPER-3723 - Zookeeper Client should not fail with ZSYSTEMERROR if DNS does not resolve one of the servers in the zk ensemble.
  • ZOOKEEPER-3727 - Fix 3.5 source tarball to represent the git repository
  • ZOOKEEPER-3785 - Make sources buildable with JDK14

Task [3.5.8]

  • ZOOKEEPER-3734 - Upgrade jackson-databind to address CVE-2020-8840
  • ZOOKEEPER-3751 - Upgrade jackson-databind to 2.10 from 2.9
  • ZOOKEEPER-3794 - Upgrade netty to address CVE-2020-11612
  • ZOOKEEPER-3817 - Owasp failing due to CVE-2020-9488

ZooKeeper 3.5.7

Bug Fixes [3.5.7]

  • ZOOKEEPER-1105 - c client zookeeper_close not send CLOSE_OP request to server
  • ZOOKEEPER-2282 - chroot not stripped from path in asynchronous callbacks
  • ZOOKEEPER-3057 - Fix IPv6 literal usage
  • ZOOKEEPER-3496 - Transaction larger than jute.maxbuffer makes ZooKeeper unavailable
  • ZOOKEEPER-3590 - Zookeeper is unable to set the zookeeper.sasl.client.canonicalize.hostname using system variable
  • ZOOKEEPER-3613 - ZKConfig fails to return proper value on getBoolean() when user accidentally includes spaces at the end of the value
  • ZOOKEEPER-3633 - AdminServer commands throw NPE when only secure client port is used
  • ZOOKEEPER-3644 - Data loss after upgrading standalone ZK server 3.4.14 to 3.5.6 with snapshot.trust.empty=true
  • ZOOKEEPER-3667 - set jute.maxbuffer hexadecimal number throw parseInt error
  • ZOOKEEPER-3699 - upgrade jackson-databind to address CVE-2019-20330
  • ZOOKEEPER-3716 - upgrade netty 4.1.42 to address CVE-2019-20444 CVE-2019-20445
  • ZOOKEEPER-3718 - Generated source tarball is missing some files
  • ZOOKEEPER-3719 - C Client compilation issues in 3.5.7-rc

Improvement [3.5.7]

  • ZOOKEEPER-1467 - Make server principal configurable at client side.
  • ZOOKEEPER-2084 - Document local session parameters
  • ZOOKEEPER-3388 - Allow client port to support plaintext and encrypted connections simultaneously
  • ZOOKEEPER-3453 - missing 'SET' in zkCli on windows
  • ZOOKEEPER-3482 - SASL (Kerberos) Authentication with SSL for clients and Quorum
  • ZOOKEEPER-3627 - Update Jackson to 2.9.10.1 and the Owasp plugin to 5.2.4
  • ZOOKEEPER-3638 - Update Jetty to 9.4.24.v20191120
  • ZOOKEEPER-3703 - Publish a Test-Jar from ZooKeeper Server
  • ZOOKEEPER-3708 - Move Logging Code into Logging Guard in Learner
  • ZOOKEEPER-3715 - Kerberos Authentication related tests fail for new JDK versions

Task [3.5.7]

  • ZOOKEEPER-3677 - owasp checker failing for - CVE-2019-17571 Apache Log4j 1.2 deserialization of untrusted data in SocketServer
  • ZOOKEEPER-3704 - upgrade maven dependency-check to 5.3.0

ZooKeeper 3.5.6

Sub-task [3.5.6]

  • ZOOKEEPER-2609 - Add TTL Node APIs to C client
  • ZOOKEEPER-3443 - Add support for PKCS12 trust/key stores

Bug Fixes [3.5.6]

  • ZOOKEEPER-2694 - sync CLI command does not wait for result from server
  • ZOOKEEPER-2891 - Invalid processing of zookeeper_close for mutli-request
  • ZOOKEEPER-2894 - Memory and completions leak on zookeeper_close
  • ZOOKEEPER-3056 - Fails to load database with missing snapshot file but valid transaction log file
  • ZOOKEEPER-3105 - Character coding problem occur when create a node using python3
  • ZOOKEEPER-3320 - Leader election port stop listen when hostname unresolvable for some time
  • ZOOKEEPER-3404 - BouncyCastle upgrade to 1.61 might cause flaky test issues
  • ZOOKEEPER-3405 - owasp flagging jackson-databind
  • ZOOKEEPER-3433 - zkpython build broken after maven migration
  • ZOOKEEPER-3498 - In zookeeper-jute project generated source should not be in target\classes folder
  • ZOOKEEPER-3510 - Frequent 'zkServer.sh stop' failures when running C test suite
  • ZOOKEEPER-3518 - owasp check flagging jackson-databind 2.9.9.1

Improvement [3.5.6]

  • ZOOKEEPER-3263 - Illegal reflective access in zookeer's kerberosUtil
  • ZOOKEEPER-3370 - Remove SVN specific revision generation
  • ZOOKEEPER-3494 - No need to depend on netty-all (SSL)
  • ZOOKEEPER-3519 - upgrade dependency-check to 5.2.1

Test [3.5.6]

  • ZOOKEEPER-3455 - Java 13 build failure on trunk: UnifiedServerSocketTest.testConnectWithoutSSLToStrictServer

Task [3.5.6]

  • ZOOKEEPER-3362 - Create a simple checkstyle file
  • ZOOKEEPER-3441 - OWASP is flagging jackson-databind-2.9.9.jar for CVE-2019-12814
  • ZOOKEEPER-3463 - Enable warning messages in maven compiler plugin
  • ZOOKEEPER-3539 - Fix branch-3.5 after upgrade on ASF CI
  • ZOOKEEPER-3440 - Fix Apache RAT check by excluding binary files (images)
  • ZOOKEEPER-3542 - X509UtilTest#testClientRenegotiationFails is flaky on JDK8 + linux on machines with 2 cores

ZooKeeper 3.5.5

Java 8 users: if you are going to compile with Java 1.8, you should use a recent release at u211 or above.

Sub-task [3.5.5]

  • ZOOKEEPER-2168 - Add C APIs for new createContainer Methods
  • ZOOKEEPER-2481 - Flaky Test: testZeroWeightQuorum
  • ZOOKEEPER-2485 - Flaky Test: org.apache.zookeeper.test.FourLetterWordsTest.testFourLetterWords
  • ZOOKEEPER-2497 - Flaky Test: org.apache.zookeeper.test.QuorumTest.testMultipleWatcherObjs
  • ZOOKEEPER-2499 - Flaky Test: org.apache.zookeeper.test.SSLTest.testSecureQuorumServer
  • ZOOKEEPER-2538 - Flaky Test: org.apache.zookeeper.server.quorum.Zab1_0Test.testNormalObserverRun
  • ZOOKEEPER-2940 - Deal with maxbuffer as it relates to large requests from clients
  • ZOOKEEPER-3022 - Step 1.1 - Create docs and it maven structure
  • ZOOKEEPER-3028 - Create assembly in pom.xml
  • ZOOKEEPER-3029 - Create pom files for jute, server and client
  • ZOOKEEPER-3030 - Step 1.3 - Create zk-contrib maven structure
  • ZOOKEEPER-3031 - Step 1.4 - Create zk-client maven structure
  • ZOOKEEPER-3032 - Step 1.6 - Create zk-server maven structure
  • ZOOKEEPER-3033 - Step 1.2 - Create zk-recipes maven structure
  • ZOOKEEPER-3046 - testManyChildWatchersAutoReset is flaky
  • ZOOKEEPER-3080 - Step 1.5 - Separate jute structure
  • ZOOKEEPER-3153 - Create MarkDown files and build process for them
  • ZOOKEEPER-3154 - Update release process to use the MarkDown solution
  • ZOOKEEPER-3155 - Remove Forrest XMLs and their build process from the project
  • ZOOKEEPER-3171 - Create pom.xml for recipes and contrib
  • ZOOKEEPER-3193 - Flaky: org.apache.zookeeper.test.SaslAuthFailNotifyTest
  • ZOOKEEPER-3202 - Flaky test: org.apache.zookeeper.test.ClientSSLTest.testClientServerSSL
  • ZOOKEEPER-3222 - Flaky: multiple intermittent segfaults in C++ tests
  • ZOOKEEPER-3223 - Configure Spotbugs
  • ZOOKEEPER-3224 - CI integration with maven
  • ZOOKEEPER-3225 - Create code coverage analysis with maven build
  • ZOOKEEPER-3226 - Activate C Client with a profile, disabled by default
  • ZOOKEEPER-3256 - Enable OWASP checks to Maven build
  • ZOOKEEPER-3275 - Fix release targets: package, tar, mvn-deploy
  • ZOOKEEPER-3285 - Move assembly into its own sub-module

Bug Fixes [3.5.5]

  • ZOOKEEPER-1392 - Should not allow to read ACL when not authorized to read node
  • ZOOKEEPER-1636 - c-client crash when zoo_amulti failed
  • ZOOKEEPER-1818 - Fix don't care for trunk
  • ZOOKEEPER-1823 - zkTxnLogToolkit -dump should support printing transaction data as a string
  • ZOOKEEPER-1919 - Update the C implementation of removeWatches to have it match ZOOKEEPER-1910
  • ZOOKEEPER-1990 - suspicious instantiation of java Random instances
  • ZOOKEEPER-2184 - Zookeeper Client should re-resolve hosts when connection attempts fail
  • ZOOKEEPER-2251 - Add Client side packet response timeout to avoid infinite wait.
  • ZOOKEEPER-2261 - When only secureClientPort is configured connections, configuration, connection_stat_reset, and stats admin commands throw NullPointerException
  • ZOOKEEPER-2284 - LogFormatter and SnapshotFormatter does not handle FileNotFoundException gracefully
  • ZOOKEEPER-2317 - Non-OSGi compatible version
  • ZOOKEEPER-2474 - add a way for client to reattach to a session when using ZKClientConfig
  • ZOOKEEPER-2621 - ZooKeeper doesn't start on MINGW32 (Windows)
  • ZOOKEEPER-2750 - Document SSL Support for Atomic Broadcast protocol
  • ZOOKEEPER-2778 - Potential server deadlock between follower sync with leader and follower receiving external connection requests.
  • ZOOKEEPER-2822 - Wrong ObjectName about MBeanServer in JMX module
  • ZOOKEEPER-2913 - testEphemeralNodeDeletion is flaky
  • ZOOKEEPER-2920 - Upgrade OWASP Dependency Check to 3.2.1
  • ZOOKEEPER-2993 - .ignore file prevents adding src/java/main/org/apache/jute/compiler/generated dir to git repo
  • ZOOKEEPER-3009 - Potential NPE in NIOServerCnxnFactory
  • ZOOKEEPER-3034 - Facing issues while building from source
  • ZOOKEEPER-3041 - Typo in error message, affects log analysis
  • ZOOKEEPER-3042 - testFailedTxnAsPartOfQuorumLoss is flaky
  • ZOOKEEPER-3050 - owasp ant target is highlighting jetty version needs to be updated
  • ZOOKEEPER-3051 - owasp complaining about jackson version used
  • ZOOKEEPER-3059 - EventThread leak in case of Sasl AuthFailed
  • ZOOKEEPER-3093 - sync zerror(int rc) with newest error definitions
  • ZOOKEEPER-3113 - EphemeralType.get() fails to verify ephemeralOwner when currentElapsedTime() is small enough
  • ZOOKEEPER-3125 - Pzxid inconsistent issue when replaying a txn for a deleted node
  • ZOOKEEPER-3127 - Fixing potential data inconsistency due to update last processed zxid with partial multi-op txn
  • ZOOKEEPER-3131 - org.apache.zookeeper.server.WatchManager resource leak
  • ZOOKEEPER-3156 - ZOOKEEPER-2184 causes kerberos principal to not have resolved host name
  • ZOOKEEPER-3162 - Broken lock semantics in C client lock-recipe
  • ZOOKEEPER-3165 - Java 9: X509UtilTest.testCreateSSLContextWithoutTrustStorePassword fails
  • ZOOKEEPER-3194 - Quorum TLS - fix copy/paste bug in ZKTrustManager
  • ZOOKEEPER-3210 - Typo in zookeeperInternals doc
  • ZOOKEEPER-3217 - owasp job flagging slf4j on trunk
  • ZOOKEEPER-3253 - client should not send requests with cxid=-4, -2, or -1
  • ZOOKEEPER-3265 - Build failure on branch-3.4

New Feature [3.5.5]

  • ZOOKEEPER-236 - SSL Support for Atomic Broadcast protocol
  • ZOOKEEPER-2933 - Ability to monitor the jute.maxBuffer usage in real-time
  • ZOOKEEPER-3066 - Expose on JMX of Followers the id of the current leader

Improvement [3.5.5]

  • ZOOKEEPER-1908 - setAcl should be have a recursive function
  • ZOOKEEPER-2368 - Client watches are not disconnected on close
  • ZOOKEEPER-2825 - 1. Remove unnecessary import; 2. contains instead of indexOf > -1 for more readable; 3. Standardize StringBuilder#append usage for CLIENT module
  • ZOOKEEPER-2826 - Code refactoring for CLI module
  • ZOOKEEPER-2873 - print error and/or abort on invalid server definition
  • ZOOKEEPER-3019 - Add a metric to track number of slow fsyncs
  • ZOOKEEPER-3021 - Umbrella: Migrate project structure to Maven build
  • ZOOKEEPER-3043 - QuorumKerberosHostBasedAuthTest fails on Linux box: Unable to parse:includedir /etc/krb5.conf.d/
  • ZOOKEEPER-3063 - Track outstanding changes with ArrayDeque
  • ZOOKEEPER-3077 - Build native C library outside of source directory
  • ZOOKEEPER-3083 - Remove some redundant and noisy log lines
  • ZOOKEEPER-3094 - Make BufferSizeTest reliable
  • ZOOKEEPER-3097 - Use Runnable instead of Thread for working items in WorkerService to improve the throughput of CommitProcessor
  • ZOOKEEPER-3110 - Improve the closeSession throughput in PrepRequestProcessor
  • ZOOKEEPER-3152 - Port ZK netty stack to netty 4
  • ZOOKEEPER-3159 - Flaky: ClientRequestTimeoutTest.testClientRequestTimeout
  • ZOOKEEPER-3172 - Quorum TLS - fix port unification to allow rolling upgrades
  • ZOOKEEPER-3173 - Quorum TLS - support PEM trust/key stores
  • ZOOKEEPER-3174 - Quorum TLS - support reloading trust/key store
  • ZOOKEEPER-3175 - Quorum TLS - test improvements
  • ZOOKEEPER-3176 - Quorum TLS - add SSL config options
  • ZOOKEEPER-3195 - TLS - disable client-initiated renegotiation
  • ZOOKEEPER-3228 - [TLS] Fix key usage extension in test certs
  • ZOOKEEPER-3229 - [TLS] add AES-256 ciphers to default cipher list
  • ZOOKEEPER-3235 - Enable secure processing and disallow DTDs in the SAXParserFactory
  • ZOOKEEPER-3236 - Upgrade BouncyCastle
  • ZOOKEEPER-3250 - typo in doc - zookeeperInternals
  • ZOOKEEPER-3262 - Update dependencies flagged by OWASP report
  • ZOOKEEPER-3272 - Clean up netty4 code per Norman Maurer's review comments
  • ZOOKEEPER-3273 - Sync BouncyCastle version in Maven build and Ant build
  • ZOOKEEPER-3274 - Use CompositeByteBuf to queue data in NettyServerCnxn
  • ZOOKEEPER-3276 - Make X509UtilTest.testCreateSSLServerSocketWithPort less flaky
  • ZOOKEEPER-3277 - Add trace listener in NettyServerCnxnFactory only if trace logging is enabled
  • ZOOKEEPER-3312 - Upgrade Jetty to 9.4.15.v20190215

Test [3.5.5]

  • ZOOKEEPER-1441 - Some test cases are failing because Port bind issue.
  • ZOOKEEPER-2955 - Enable Clover code coverage report
  • ZOOKEEPER-2968 - Add C client code coverage tests
  • ZOOKEEPER-3074 - Flaky test:org.apache.zookeeper.server.ServerStatsTest.testLatencyMetrics
  • ZOOKEEPER-3204 - Reconfig tests are constantly failing on 3.5 after applying Java 11 fix

Task [3.5.5]

  • ZOOKEEPER-925 - Consider maven site generation to replace our forrest site and documentation generation
  • ZOOKEEPER-3062 - introduce fsync.warningthresholdms constant for FileTxnLog LOG.warn message
  • ZOOKEEPER-3120 - add NetBeans nbproject directory to .gitignore
  • ZOOKEEPER-3197 - Improve documentation in ZooKeeperServer.superSecret
  • ZOOKEEPER-3230 - Add Apache NetBeans Maven project files to .gitignore
  • ZOOKEEPER-3254 - Drop 'beta' qualifier from Branch 3.5

ZooKeeper 3.5.4

Release 3.5.3 added a new feature ZOOKEEPER-2169 "Enable creation of nodes with TTLs". There was a major oversight when TTL nodes were implemented. The session ID generator for each server is seeded with the configured Server ID in the high byte. TTL Nodes were using the highest bit to denote a TTL node when used in the ephemeral owner. This meant that Server IDs > 127 that created ephemeral nodes would have those nodes always considered TTL nodes (with the TTL being essentially a random number).

ZOOKEEPER-2901 fixes the issue. By default TTL is disabled and must now be enabled in zoo.cfg. When TTL Nodes are enabled, the max Server ID changes from 255 to 254. See the documentation for TTL in the administrator guide (or the referenced JIRAs) for more details.

Sub-task [3.5.4]

  • ZOOKEEPER-2754 - Set up Apache Jenkins job that runs the flaky test analyzer script.
  • ZOOKEEPER-2792 - [QP MutualAuth]: Port ZOOKEEPER-1045 implementation from branch-3.4 to branch-3.5
  • ZOOKEEPER-2903 - Port ZOOKEEPER-2901 to 3.5.4
  • ZOOKEEPER-2939 - Deal with maxbuffer as it relates to proposals
  • ZOOKEEPER-2981 - Fix build on branch-3.5 for ZOOKEEPER-2939

Bug Fixes [3.5.4]

  • ZOOKEEPER-1580 - QuorumPeer.setRunning is not used
  • ZOOKEEPER-1782 - zookeeper.superUser is not as super as superDigest
  • ZOOKEEPER-1807 - Observers spam each other creating connections to the election addr
  • ZOOKEEPER-2101 - Transaction larger than max buffer of jute makes zookeeper unavailable
  • ZOOKEEPER-2249 - CRC check failed when preAllocSize smaller than node data
  • ZOOKEEPER-2316 - comment does not match code logic
  • ZOOKEEPER-2338 - c bindings should create socket's with SOCK_CLOEXEC to avoid fd leaks on fork/exec
  • ZOOKEEPER-2349 - Update documentation for snapCount
  • ZOOKEEPER-2355 - Ephemeral node is never deleted if follower fails while reading the proposal packet
  • ZOOKEEPER-2491 - C client build error in vs 2015
  • ZOOKEEPER-2581 - Not handled NullPointerException while creating key manager and trustManager
  • ZOOKEEPER-2690 - Update documentation source for ZOOKEEPER-2574
  • ZOOKEEPER-2722 - Flaky Test: org.apache.zookeeper.test.ReadOnlyModeTest.testSessionEstablishment
  • ZOOKEEPER-2725 - Upgrading to a global session fails with a multiop
  • ZOOKEEPER-2743 - Netty connection leaks JMX connection bean upon connection close in certain race conditions.
  • ZOOKEEPER-2747 - Fix ZooKeeperAdmin Compilation Warning
  • ZOOKEEPER-2757 - Incorrect path crashes zkCli
  • ZOOKEEPER-2758 - Typo: transasction → transaction
  • ZOOKEEPER-2775 - ZK Client not able to connect with Xid out of order error
  • ZOOKEEPER-2777 - There is a typo in zk.py which prevents from using/compiling it.
  • ZOOKEEPER-2783 - follower disconnects and cannot reconnect
  • ZOOKEEPER-2785 - Server inappropriately throttles connections under load before SASL completes
  • ZOOKEEPER-2786 - Flaky test: org.apache.zookeeper.test.ClientTest.testNonExistingOpCode
  • ZOOKEEPER-2797 - Invalid TTL from misbehaving client nukes zookeeper
  • ZOOKEEPER-2798 - Fix flaky test: org.apache.zookeeper.test.ReadOnlyModeTest.testConnectionEvents
  • ZOOKEEPER-2806 - Flaky test: org.apache.zookeeper.server.quorum.FLEBackwardElectionRoundTest.testBackwardElectionRound
  • ZOOKEEPER-2808 - ACL with index 1 might be removed if it's only being used once
  • ZOOKEEPER-2818 - Improve the ZooKeeper#setACL java doc
  • ZOOKEEPER-2819 - Changing membership configuration via rolling restart does not work on 3.5.x.
  • ZOOKEEPER-2841 - ZooKeeper public include files leak porting changes
  • ZOOKEEPER-2845 - Data inconsistency issue due to retain database in leader election
  • ZOOKEEPER-2852 - Snapshot size factor is not read from system property
  • ZOOKEEPER-2853 - The lastZxidSeen in FileTxnLog.java is never being assigned
  • ZOOKEEPER-2859 - CMake build doesn't support OS X
  • ZOOKEEPER-2861 - Main-Class JAR manifest attribute is incorrect
  • ZOOKEEPER-2862 - Incorrect javadoc syntax for web links in StaticHostProvider.java
  • ZOOKEEPER-2874 - Windows Debug builds don't link with /MTd
  • ZOOKEEPER-2890 - Local automatic variable is left uninitialized and then freed.
  • ZOOKEEPER-2893 - very poor choice of logging if client fails to connect to server
  • ZOOKEEPER-2901 - Session ID that is negative causes mis-calculation of Ephemeral Type
  • ZOOKEEPER-2905 - Don't include config.h in zookeeper.h
  • ZOOKEEPER-2906 - The OWASP dependency check jar should not be included in the default classpath
  • ZOOKEEPER-2908 - quorum.auth.MiniKdcTest.testKerberosLogin failing with NPE on java 9
  • ZOOKEEPER-2909 - Create ant task to generate ivy dependency reports
  • ZOOKEEPER-2914 - compiler warning using java 9
  • ZOOKEEPER-2923 - The comment of the variable matchSyncs in class CommitProcessor has a mistake.
  • ZOOKEEPER-2924 - Flaky Test: org.apache.zookeeper.test.LoadFromLogTest.testRestoreWithTransactionErrors
  • ZOOKEEPER-2931 - WriteLock recipe: incorrect znode ordering when the sessionId is part of the znode name
  • ZOOKEEPER-2934 - c versions of election and queue recipes do not compile
  • ZOOKEEPER-2936 - Duplicate Keys in log4j.properties config files
  • ZOOKEEPER-2944 - Specify correct overflow value
  • ZOOKEEPER-2948 - Failing c unit tests on apache jenkins
  • ZOOKEEPER-2949 - SSL ServerName not set when using hostname, some proxies may failed to proxy the request.
  • ZOOKEEPER-2951 - zkServer.cmd does not start when JAVA_HOME ends with a \
  • ZOOKEEPER-2953 - Flaky Test: testNoLogBeforeLeaderEstablishment
  • ZOOKEEPER-2959 - ignore accepted epoch and LEADERINFO ack from observers when a newly elected leader computes new epoch
  • ZOOKEEPER-2961 - Fix testElectionFraud Flakyness
  • ZOOKEEPER-2964 - "Conf" command returns dataDir and dataLogDir opposingly
  • ZOOKEEPER-2978 - fix potential null pointer exception when deleting node
  • ZOOKEEPER-2982 - Re-try DNS hostname -> IP resolution
  • ZOOKEEPER-2988 - NPE triggered if server receives a vote for a server id not in their voting view
  • ZOOKEEPER-2992 - The eclipse build target fails due to protocol redirection: http->https
  • ZOOKEEPER-2997 - CMake should not force static CRT linking
  • ZOOKEEPER-3001 - Incorrect log message when try to delete container node
  • ZOOKEEPER-3006 - Potential NPE in ZKDatabase#calculateTxnLogSizeLimit
  • ZOOKEEPER-3007 - Potential NPE in ReferenceCountedACLCache#deserialize
  • ZOOKEEPER-3025 - cmake windows build is broken on jenkins
  • ZOOKEEPER-3027 - Accidently removed public API of FileTxnLog.setPreallocSize()
  • ZOOKEEPER-3038 - Cleanup some nitpicks in TTL implementation
  • ZOOKEEPER-3039 - TxnLogToolkit uses Scanner badly

New Feature [3.5.4]

  • ZOOKEEPER-1703 - Please add instructions for running the tutorial
  • ZOOKEEPER-2875 - Add ant task for running OWASP dependency report
  • ZOOKEEPER-2994 - Tool required to recover log and snapshot entries with CRC errors

Improvement [3.5.4]

  • ZOOKEEPER-1748 - TCP keepalive for leader election connections
  • ZOOKEEPER-2359 - ZooKeeper client has unnecessary logs for watcher removal errors
  • ZOOKEEPER-2638 - ZooKeeper should log which serverCnxnFactory is used during startup
  • ZOOKEEPER-2662 - Export a metric for txn log sync times
  • ZOOKEEPER-2697 - Handle graceful stop of ZookKeeper client
  • ZOOKEEPER-2744 - Typos in the comments of ZooKeeper class
  • ZOOKEEPER-2767 - Correct the exception messages in X509Util if truststore location or password is not configured
  • ZOOKEEPER-2788 - The define of MAX_CONNECTION_ATTEMPTS in QuorumCnxManager.java seems useless, should it be removed?
  • ZOOKEEPER-2815 - 1. Using try clause to close resource; 2. Others code refactoring for PERSISTENCE module
  • ZOOKEEPER-2816 - Code refactoring for ZK_SERVER module
  • ZOOKEEPER-2824 - FileChannel#size info should be added to FileTxnLog#commit to solve the confuse that reason is too large log or too busy disk I/O
  • ZOOKEEPER-2829 - Interface usability / compatibility improvements through Java annotation.
  • ZOOKEEPER-2856 - ZooKeeperSaslClient#respondToServer should log exception message of SaslException
  • ZOOKEEPER-2864 - Add script to run a java api compatibility tool
  • ZOOKEEPER-2865 - Reconfig Causes Inconsistent Configuration file among the nodes
  • ZOOKEEPER-2870 - Improve the efficiency of AtomicFileOutputStream
  • ZOOKEEPER-2880 - Rename README.txt to README.md
  • ZOOKEEPER-2887 - define dependency versions in build.xml to be easily overridden in build.properties
  • ZOOKEEPER-2896 - Remove unused imports from org.apache.zookeeper.test.CreateTest.java
  • ZOOKEEPER-2904 - Remove unused imports from org.apache.zookeeper.server.quorum.WatchLeakTest
  • ZOOKEEPER-2915 - Use "strict" conflict management in ivy
  • ZOOKEEPER-2950 - Add keys for the Zxid from the stat command to check_zookeeper.py
  • ZOOKEEPER-2952 - Upgrade third party libraries to address vulnerabilities
  • ZOOKEEPER-2967 - Add check to validate dataDir and dataLogDir parameters at startup
  • ZOOKEEPER-2971 - Create release notes for 3.5.4
  • ZOOKEEPER-2999 - CMake build should use target-level commands
  • ZOOKEEPER-3012 - Fix unit test: testDataDirAndDataLogDir should not use hardcode test folders

Test [3.5.4]

  • ZOOKEEPER-2415 - SessionTest is using Thread deprecated API.
  • ZOOKEEPER-2577 - Flaky Test: org.apache.zookeeper.server.quorum.ReconfigDuringLeaderSyncTest.testDuringLeaderSync
  • ZOOKEEPER-2742 - Few test cases of org.apache.zookeeper.ZooKeeperTest fails in Windows
  • ZOOKEEPER-2746 - Leader hand-off during dynamic reconfig is best effort, while test always expects it
  • ZOOKEEPER-2796 - Test org.apache.zookeeper.ZooKeeperTest.testCreateNodeWithoutData is broken by ZOOKEEPER-2757

Wish [3.5.4]

  • ZOOKEEPER-2795 - Change log level for "ZKShutdownHandler is not registered" error message

Task [3.5.4]

  • ZOOKEEPER-2713 - Create CVE text for ZOOKEEPER-2693 "DOS attack on wchp/wchc four letter words (4lw)"
  • ZOOKEEPER-3002 - Upgrade branches 3.5 and trunk to Java 1.8
  • ZOOKEEPER-3017 - Link libm in CMake on FreeBSD

ZooKeeper 3.5.3

Sub-task [3.5.3]

  • ZOOKEEPER-2080 - Fix deadlock in dynamic reconfiguration
  • ZOOKEEPER-2152 - Intermittent failure in TestReconfig.cc
  • ZOOKEEPER-2692 - Fix race condition in testWatchAutoResetWithPending

Bug Fixes [3.5.3]

  • ZOOKEEPER-1256 - ClientPortBindTest is failing on Mac OS X
  • ZOOKEEPER-1806 - testCurrentServersAreObserversInNextConfig failing frequently on trunk with non-jdk6
  • ZOOKEEPER-1898 - ZooKeeper Java cli shell always returns "0" as exit code
  • ZOOKEEPER-1927 - zkServer.sh fails to read dataDir (and others) from zoo.cfg on Solaris 10 (grep issue, manifests as FAILED TO WRITE PID).
  • ZOOKEEPER-2014 - Only admin should be allowed to reconfig a cluster
  • ZOOKEEPER-2074 - Incorrect exit codes for "./zkCli.sh cmd arg"
  • ZOOKEEPER-2172 - Cluster crashes when reconfig a new node as a participant
  • ZOOKEEPER-2247 - Zookeeper service becomes unavailable when leader fails to write transaction log
  • ZOOKEEPER-2383 - Startup race in ZooKeeperServer
  • ZOOKEEPER-2442 - Socket leak in QuorumCnxManager connectOne
  • ZOOKEEPER-2460 - Remove javacc dependency from public Maven pom
  • ZOOKEEPER-2463 - TestMulti is broken in the C client
  • ZOOKEEPER-2464 - NullPointerException on ContainerManager
  • ZOOKEEPER-2465 - Documentation copyright notice is out of date.
  • ZOOKEEPER-2467 - NullPointerException when redo Command is passed negative value
  • ZOOKEEPER-2470 - ServerConfig#parse(String[]) ignores tickTime
  • ZOOKEEPER-2477 - documentation should refer to Java cli shell and not C cli shell
  • ZOOKEEPER-2498 - Potential resource leak in C client when processing unexpected / out of order response
  • ZOOKEEPER-2500 - Fix compilation warnings for CliException classes
  • ZOOKEEPER-2517 - jute.maxbuffer is ignored
  • ZOOKEEPER-2536 - When provide path for "dataDir" with trailing space, it is taking correct path (by trucating space) for snapshot but creating temporary file with some junk folder name for zookeeper_server.pid
  • ZOOKEEPER-2537 - When provide path for "dataDir" with heading space, it is taking correct path (by trucating space) for snapshot but zookeeper_server.pid is getting created in root (/) folder
  • ZOOKEEPER-2539 - Throwing nullpointerException when run the command "config -c" when client port is mentioned as separate and not like new style
  • ZOOKEEPER-2548 - zooInspector does not start on Windows
  • ZOOKEEPER-2558 - Potential memory leak in recordio.c
  • ZOOKEEPER-2573 - Modify Info.REVISION to adapt git repo
  • ZOOKEEPER-2574 - PurgeTxnLog can inadvertently delete required txn log files
  • ZOOKEEPER-2579 - ZooKeeper server should verify that dataDir and snapDir are writeable before starting
  • ZOOKEEPER-2606 - SaslServerCallbackHandler#handleAuthorizeCallback() should log the exception
  • ZOOKEEPER-2611 - zoo_remove_watchers - can remove the wrong watch
  • ZOOKEEPER-2617 - correct a few spelling typos
  • ZOOKEEPER-2622 - ZooTrace.logQuorumPacket does nothing
  • ZOOKEEPER-2627 - Remove ZRWSERVERFOUND from C client and replace handle_error with something more semantically explicit for r/w server reconnect.
  • ZOOKEEPER-2628 - Investigate and fix findbug warnings
  • ZOOKEEPER-2633 - Build failure in contrib/zkfuse with gcc 6.x
  • ZOOKEEPER-2635 - Regenerate documentation
  • ZOOKEEPER-2636 - Fix C build break.
  • ZOOKEEPER-2642 - ZooKeeper reconfig API backward compatibility fix
  • ZOOKEEPER-2647 - Fix TestReconfigServer.cc
  • ZOOKEEPER-2651 - Missing src/pom.template in release
  • ZOOKEEPER-2678 - Large databases take a long time to regain a quorum
  • ZOOKEEPER-2680 - Correct DataNode.getChildren() inconsistent behaviour.
  • ZOOKEEPER-2683 - RaceConditionTest is flaky
  • ZOOKEEPER-2687 - Deadlock while shutting down the Leader server.
  • ZOOKEEPER-2693 - DOS attack on wchp/wchc four letter words (4lw)
  • ZOOKEEPER-2726 - Patch for ZOOKEEPER-2693 introduces potential race condition
  • ZOOKEEPER-2737 - NettyServerCnxFactory leaks connection if exception happens while writing to a channel.

Improvement [3.5.3]

  • ZOOKEEPER-2479 - Add 'electionTimeTaken' value in LeaderMXBean and FollowerMXBean
  • ZOOKEEPER-2489 - Upgrade Jetty dependency to a recent stable release version.
  • ZOOKEEPER-2505 - Use shared library instead of static library in C client unit test
  • ZOOKEEPER-2507 - C unit test improvement: line break between 'ZooKeeper server started' and 'Running'
  • ZOOKEEPER-2511 - Implement AutoCloseable in ZooKeeper.java
  • ZOOKEEPER-2557 - Update gitignore to account for other file extensions
  • ZOOKEEPER-2594 - Use TLS for downloading artifacts during build
  • ZOOKEEPER-2620 - Add comments to testReadOnlySnapshotDir and testReadOnlyTxnLogDir indicating that the tests will fail when run as root
  • ZOOKEEPER-2655 - Improve NIOServerCnxn#isZKServerRunning to reflect the semantics correctly
  • ZOOKEEPER-2672 - Remove CHANGE.txt
  • ZOOKEEPER-2682 - Make it optional to fail build on test failure
  • ZOOKEEPER-2724 - Skip cert files for releaseaudit target.

New Feature [3.5.3]

  • ZOOKEEPER-1962 - Add a CLI command to recursively list a znode and children
  • ZOOKEEPER-2719 - Port ZOOKEEPER-2169 to 3.5 branch

Task [3.5.3]

  • ZOOKEEPER-2658 - Trunk / branch-3.5 build broken.
  • ZOOKEEPER-2709 - Clarify documentation around "auth" ACL scheme
  • ZOOKEEPER-2734 - 3.5.3 should be a beta release instead of alpha release.

Test [3.5.3]

  • ZOOKEEPER-2482 - Flaky Test: org.apache.zookeeper.test.ClientPortBindTest.testBindByAddress
  • ZOOKEEPER-2483 - Flaky Test: org.apache.zookeeper.test.LETest.testLE
  • ZOOKEEPER-2484 - Flaky Test: org.apache.zookeeper.test.LoadFromLogTest.testLoadFailure
  • ZOOKEEPER-2508 - Many ZooKeeper tests are flaky because they proceed with zk operation without connecting to ZooKeeper server.
  • ZOOKEEPER-2656 - Fix ServerConfigTest#testValidArguments test case failures
  • ZOOKEEPER-2664 - ClientPortBindTest#testBindByAddress may fail due to "No such device" exception
  • ZOOKEEPER-2665 - Port QA github pull request build to branch 3.4 and 3.5
  • ZOOKEEPER-2716 - Flaky Test: org.apache.zookeeper.server.SessionTrackerTest.testAddSessionAfterSessionExpiry
  • ZOOKEEPER-2718 - org.apache.zookeeper.server.quorum.StandaloneDisabledTest fails intermittently

ZooKeeper 3.5.2

Sub-task [3.5.2]

  • ZOOKEEPER-1872 - QuorumPeer is not shutdown in few cases
  • ZOOKEEPER-2094 - SSL feature on Netty
  • ZOOKEEPER-2137 - Make testPortChange() less flaky
  • ZOOKEEPER-2396 - Login object in ZooKeeperSaslClient is static

Bug Fixes [3.5.2]

  • ZOOKEEPER-412 - checkstyle target fails trunk build
  • ZOOKEEPER-706 - large numbers of watches can cause session re-establishment to fail
  • ZOOKEEPER-1029 - C client bug in zookeeper_init (if bad hostname is given)
  • ZOOKEEPER-1077 - C client lib doesn't build on Solaris
  • ZOOKEEPER-1371 - Remove dependency on log4j in the source code.
  • ZOOKEEPER-1460 - IPv6 literal address not supported for quorum members
  • ZOOKEEPER-1676 - C client zookeeper_interest returning ZOK on Connection Loss
  • ZOOKEEPER-1803 - Add description for pzxid in programmer's guide.
  • ZOOKEEPER-1853 - zkCli.sh can't issue a CREATE command containing spaces in the data
  • ZOOKEEPER-1927 - zkServer.sh fails to read dataDir (and others) from zoo.cfg on Solaris 10 (grep issue, manifests as FAILED TO WRITE PID).
  • ZOOKEEPER-1929 - std::length_error on update children
  • ZOOKEEPER-1991 - zkServer.sh returns with a zero exit status when a ZooKeeper process is already running
  • ZOOKEEPER-2133 - zkperl: Segmentation fault if getting a node with null value
  • ZOOKEEPER-2141 - ACL cache in DataTree never removes entries
  • ZOOKEEPER-2142 - JMX ObjectName is incorrect for observers
  • ZOOKEEPER-2156 - If JAVA_HOME is not set zk startup and fetching status command execution result misleads user.
  • ZOOKEEPER-2174 - JUnit4ZKTestRunner logs test failure for all exceptions even if the test method is annotated with an expected exception.
  • ZOOKEEPER-2195 - fsync.warningthresholdms in zoo.cfg not working
  • ZOOKEEPER-2201 - Network issues can cause cluster to hang due to near-deadlock
  • ZOOKEEPER-2211 - PurgeTxnLog does not correctly purge when snapshots and logs are at different locations
  • ZOOKEEPER-2227 - stmk four-letter word fails execution at server while reading trace mask argument.
  • ZOOKEEPER-2229 - Several four-letter words are undocumented.
  • ZOOKEEPER-2235 - License update
  • ZOOKEEPER-2239 - JMX State from LocalPeerBean incorrect
  • ZOOKEEPER-2243 - Supported platforms is completely out of date
  • ZOOKEEPER-2244 - On Windows zookeeper fails to restart
  • ZOOKEEPER-2245 - SimpleSysTest test cases fails
  • ZOOKEEPER-2252 - Random test case failure in org.apache.zookeeper.test.StaticHostProviderTest
  • ZOOKEEPER-2256 - Zookeeper is not using specified JMX port in zkEnv.sh
  • ZOOKEEPER-2264 - Wrong error message when secureClientPortAddress is configured but secureClientPort is not configured
  • ZOOKEEPER-2268 - Zookeeper doc creation fails on windows
  • ZOOKEEPER-2269 - NullPointerException in RemotePeerBean
  • ZOOKEEPER-2279 - QuorumPeer loadDataBase() error message is incorrect
  • ZOOKEEPER-2281 - ZK Server startup fails if there are spaces in the JAVA_HOME path
  • ZOOKEEPER-2283 - traceFile property is not used in the ZooKeeper, it should be removed from documentation
  • ZOOKEEPER-2294 - Ant target generate-clover-reports is broken
  • ZOOKEEPER-2295 - TGT refresh time logic is wrong
  • ZOOKEEPER-2297 - NPE is thrown while creating "key manager" and "trust manager"
  • ZOOKEEPER-2299 - NullPointerException in LocalPeerBean for ClientAddress
  • ZOOKEEPER-2301 - QuorumPeer does not listen on passed client IP in the constructor
  • ZOOKEEPER-2302 - Some test cases are not running because wrongly named
  • ZOOKEEPER-2304 - JMX ClientPort from ZooKeeperServerBean incorrect
  • ZOOKEEPER-2311 - assert in setup_random
  • ZOOKEEPER-2329 - Clear javac and javadoc warning from zookeeper
  • ZOOKEEPER-2330 - ZooKeeper close API does not close Login thread.
  • ZOOKEEPER-2337 - Fake "invalid" hostnames used in tests are sometimes valid
  • ZOOKEEPER-2340 - JMX is disabled even if JMXDISABLE is false
  • ZOOKEEPER-2360 - Update commons collections version used by tests/releaseaudit
  • ZOOKEEPER-2364 - "ant docs" fails on branch-3.5 due to missing releasenotes.xml.
  • ZOOKEEPER-2366 - Reconfiguration of client port causes a socket leak
  • ZOOKEEPER-2375 - Prevent multiple initialization of login object in each ZooKeeperSaslClient instance
  • ZOOKEEPER-2379 - recent commit broke findbugs qabot check
  • ZOOKEEPER-2380 - Deadlock between leader shutdown and forwarding ACK to the leader
  • ZOOKEEPER-2385 - Zookeeper trunk build is failing on windows
  • ZOOKEEPER-2388 - Unit tests failing on Solaris
  • ZOOKEEPER-2393 - Revert run-time dependency on log4j and slf4j-log4j12
  • ZOOKEEPER-2405 - getTGT() in Login.java mishandles confidential information
  • ZOOKEEPER-2413 - ContainerManager doesn't close the Timer it creates when stop() is called
  • ZOOKEEPER-2450 - Upgrade Netty version due to security vulnerability (CVE-2014-3488)
  • ZOOKEEPER-2457 - Remove license file for servlet-api dependency
  • ZOOKEEPER-2458 - Remove license file for servlet-api dependency
  • ZOOKEEPER-2459 - Update NOTICE file with Netty notice

Improvement [3.5.2]

  • ZOOKEEPER-2040 - Server to log underlying cause of SASL connection problems
  • ZOOKEEPER-2087 - Few UX improvements in ZooInspector
  • ZOOKEEPER-2139 - Support multiple ZooKeeper client, with different configurations, in a single JVM
  • ZOOKEEPER-2191 - Continue supporting prior Ant versions that don't implement the threads attribute for the JUnit task.
  • ZOOKEEPER-2240 - Make the three-node minimum more explicit in documentation and on website
  • ZOOKEEPER-2300 - Expose SecureClientPort and SecureClientAddress JMX properties
  • ZOOKEEPER-2306 - Remove file delete duplicate code from test code
  • ZOOKEEPER-2315 - Change client connect zk service timeout log level from Info to Warn level
  • ZOOKEEPER-2326 - Include connected server address:port in log
  • ZOOKEEPER-2373 - Licenses section missing from pom file
  • ZOOKEEPER-2378 - upgrade ivy to recent version
  • ZOOKEEPER-2392 - Update netty to 3.7.1.Final
  • ZOOKEEPER-2402 - Document client side properties
  • ZOOKEEPER-2410 - add time unit to 'ELECTION TOOK' log.info message
  • ZOOKEEPER-2433 - ZooKeeperSaslServer: allow user principals in subject

Task [3.5.2]

  • ZOOKEEPER-1604 - remove rpm/deb/... packaging

ZooKeeper 3.5.1

Sub-task [3.5.1]

  • ZOOKEEPER-1626 - Zookeeper C client should be tolerant of clock adjustments
  • ZOOKEEPER-1660 - Add documentation for dynamic reconfiguration
  • ZOOKEEPER-2047 - testTruncationNullLog fails on windows
  • ZOOKEEPER-2069 - Netty Support for ClientCnxnSocket
  • ZOOKEEPER-2119 - Netty client docs
  • ZOOKEEPER-2123 - Provide implementation of X509 AuthenticationProvider
  • ZOOKEEPER-2125 - SSL on Netty client-server communication
  • ZOOKEEPER-2134 - AsyncHammerTest.testHammer fails intermittently
  • ZOOKEEPER-2153 - X509 Authentication Documentation

Bug Fixes [3.5.1]

  • ZOOKEEPER-1366 - Zookeeper should be tolerant of clock adjustments
  • ZOOKEEPER-1784 - Logic to process INFORMANDACTIVATE packets in syncWithLeader seems bogus
  • ZOOKEEPER-1893 - automake: use serial-tests option
  • ZOOKEEPER-1917 - Apache Zookeeper logs cleartext admin passwords
  • ZOOKEEPER-1949 - recipes jar not included in the distribution package
  • ZOOKEEPER-1952 - Default log directory and file name can be changed
  • ZOOKEEPER-1987 - unable to restart 3 node cluster
  • ZOOKEEPER-2006 - Standalone mode won't take client port from dynamic config
  • ZOOKEEPER-2008 - System test fails due to missing leader election port
  • ZOOKEEPER-2013 - typos in zookeeperProgrammers
  • ZOOKEEPER-2026 - Startup order in ServerCnxnFactory-ies is wrong
  • ZOOKEEPER-2029 - Leader.LearnerCnxAcceptor should handle exceptions in run()
  • ZOOKEEPER-2030 - dynamicConfigFile should have an absolute path, not a relative path, to the dynamic configuration file
  • ZOOKEEPER-2039 - Jute compareBytes incorrect comparison index
  • ZOOKEEPER-2049 - Yosemite build failure: htonll conflict
  • ZOOKEEPER-2052 - Unable to delete a node when the node has no children
  • ZOOKEEPER-2056 - Zookeeper 3.4.x and 3.5.0-alpha is not OSGi compliant
  • ZOOKEEPER-2060 - Trace bug in NettyServerCnxnFactory
  • ZOOKEEPER-2062 - RemoveWatchesTest takes forever to run
  • ZOOKEEPER-2064 - Prevent resource leak in various classes
  • ZOOKEEPER-2072 - Netty Server Should Configure Child Channel Pipeline By Specifying ChannelPipelineFactory
  • ZOOKEEPER-2073 - Memory leak on zookeeper_close
  • ZOOKEEPER-2096 - C client builds with incorrect error codes in VisualStudio 2010+
  • ZOOKEEPER-2109 - Typo in src/c/src/load_gen.c
  • ZOOKEEPER-2111 - Not isAlive states should be synchronized in ClientCnxn
  • ZOOKEEPER-2114 - jute generated allocate_* functions are not externally visible
  • ZOOKEEPER-2124 - Allow Zookeeper version string to have underscore '_'
  • ZOOKEEPER-2146 - BinaryInputArchive readString should check length before allocating memory
  • ZOOKEEPER-2157 - Upgrade option should be removed from zkServer.sh usage
  • ZOOKEEPER-2171 - avoid reverse lookups in QuorumCnxManager
  • ZOOKEEPER-2173 - ZK startup failure should be handled with proper error message
  • ZOOKEEPER-2178 - Native client fails compilation on Windows.
  • ZOOKEEPER-2182 - Several test suites are not running during pre-commit, because their names do not end with "Test".
  • ZOOKEEPER-2186 - QuorumCnxManager#receiveConnection may crash with random input
  • ZOOKEEPER-2187 - remove duplicated code between CreateRequest{,2}
  • ZOOKEEPER-2190 - In StandaloneDisabledTest, testReconfig() shouldn't take leaving servers as joining servers
  • ZOOKEEPER-2193 - reconfig command completes even if parameter is wrong obviously
  • ZOOKEEPER-2197 - non-ascii character in FinalRequestProcessor.java
  • ZOOKEEPER-2198 - Set default test.junit.threads to 1.
  • ZOOKEEPER-2199 - Don't include unistd.h in windows
  • ZOOKEEPER-2210 - clock_gettime is not available in os x
  • ZOOKEEPER-2212 - distributed race condition related to QV version
  • ZOOKEEPER-2213 - Empty path in Set crashes server and prevents restart
  • ZOOKEEPER-2221 - Zookeeper JettyAdminServer server should start on configured IP.
  • ZOOKEEPER-2224 - Four letter command hangs when network is slow
  • ZOOKEEPER-2235 - License update

Improvement [3.5.1]

  • ZOOKEEPER-1423 - 4lw and jmx should expose the size of the datadir/datalogdir
  • ZOOKEEPER-1506 - Re-try DNS hostname -> IP resolution if node connection fails
  • ZOOKEEPER-1907 - Improve Thread handling
  • ZOOKEEPER-1948 - Enable JMX remote monitoring
  • ZOOKEEPER-1963 - Make JDK 7 the minimum requirement for Zookeeper
  • ZOOKEEPER-1994 - Backup config files.
  • ZOOKEEPER-2066 - Updates to README.txt
  • ZOOKEEPER-2079 - Stop daemon with "kill" rather than "kill -9"
  • ZOOKEEPER-2098 - QuorumCnxManager: use BufferedOutputStream for initial msg
  • ZOOKEEPER-2107 - zookeeper client should support custom HostProviders
  • ZOOKEEPER-2110 - Typo fixes in the ZK documentation
  • ZOOKEEPER-2126 - Improve exit log messsage of EventThread and SendThread by adding SessionId
  • ZOOKEEPER-2140 - NettyServerCnxn and NIOServerCnxn code should be improved
  • ZOOKEEPER-2149 - Logging of client address when socket connection established
  • ZOOKEEPER-2176 - Unclear error message should be info not error
  • ZOOKEEPER-2183 - Concurrent Testing Processes and Port Assignments
  • ZOOKEEPER-2185 - Run server with -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError='kill %p'.
  • ZOOKEEPER-2194 - Let DataNode.getChildren() return an unmodifiable view of its children set
  • ZOOKEEPER-2205 - Log type of unexpected quorum packet in learner handler loop
  • ZOOKEEPER-2206 - Add missing packet types to LearnerHandler.packetToString()
  • ZOOKEEPER-2207 - Enhance error logs with LearnerHandler.packetToString()
  • ZOOKEEPER-2208 - Log type of unexpected quorum packet in observer loop
  • ZOOKEEPER-2214 - Findbugs warning: LearnerHandler.packetToString Dead store to local variable
  • ZOOKEEPER-2223 - support method-level JUnit testcase

New Feature [3.5.1]

  • ZOOKEEPER-2163 - Introduce new ZNode type: container

Test [3.5.1]

  • ZOOKEEPER-2017 - New tests for reconfig failure cases
  • ZOOKEEPER-2032 - ReconfigBackupTest didn't clean up resources.
  • ZOOKEEPER-2204 - LearnerSnapshotThrottlerTest.testHighContentionWithTimeout fails occasionally

* ZooKeeper 3.5.0

Sub-task [3.5.0]

  • ZOOKEEPER-442 - need a way to remove watches that are no longer of interest
  • ZOOKEEPER-762 - Allow dynamic addition/removal of server nodes in the client API
  • ZOOKEEPER-827 - enable r/o mode in C client library
  • ZOOKEEPER-837 - cyclic dependency ClientCnxn, ZooKeeper
  • ZOOKEEPER-878 - finishPacket and conLossPacket should be methods of Packet
  • ZOOKEEPER-910 - Use SelectionKey.isXYZ() methods instead of complicated binary logic
  • ZOOKEEPER-932 - Move blocking read/write calls to SendWorker and RecvWorker Threads
  • ZOOKEEPER-933 - Remove wildcard QuorumPeer.OBSERVER_ID
  • ZOOKEEPER-934 - Add sanity check for server ID
  • ZOOKEEPER-1044 - Allow dynamic changes to roles of a peer
  • ZOOKEEPER-1113 - QuorumMaj counts the number of ACKs but does not check who sent the ACK
  • ZOOKEEPER-1191 - Synchronization issue - wait not in guarded block
  • ZOOKEEPER-1200 - Remove obsolete DataTreeBuilder
  • ZOOKEEPER-1201 - Clean SaslServerCallbackHandler.java
  • ZOOKEEPER-1213 - ZooKeeper server startup fails if configured only with the 'minSessionTimeout' and not 'maxSessionTimeout'
  • ZOOKEEPER-1216 - Fix more eclipse compiler warnings, also in Tests
  • ZOOKEEPER-1221 - Provide accessors for Request.{hdr|txn}
  • ZOOKEEPER-1227 - Zookeeper logs is showing -1 as min/max session timeout if there is no sessiontimeout value configured
  • ZOOKEEPER-1235 - store KeeperException messages in the Code enum
  • ZOOKEEPER-1246 - Dead code in PrepRequestProcessor catch Exception block
  • ZOOKEEPER-1247 - dead code in PrepRequestProcessor.pRequest multi case
  • ZOOKEEPER-1248 - multi transaction sets request.exception without reason
  • ZOOKEEPER-1252 - remove unused method o.a.z.test.AxyncTest.restart()
  • ZOOKEEPER-1253 - return value of DataTree.createNode is never used
  • ZOOKEEPER-1259 - central mapping from type to txn record class
  • ZOOKEEPER-1282 - Learner.java not following Zab 1.0 protocol - setCurrentEpoch should be done upon receipt of NEWLEADER (before acking it) and not upon receipt of UPTODATE
  • ZOOKEEPER-1291 - AcceptedEpoch not updated at leader before it proposes the epoch to followers
  • ZOOKEEPER-1347 - Fix the cnxns to use a concurrent data structures
  • ZOOKEEPER-1411 - Consolidate membership management, distinguish between static and dynamic configuration parameters
  • ZOOKEEPER-1414 - QuorumPeerMainTest.testQuorum, testBadPackets are failing intermittently
  • ZOOKEEPER-1459 - Standalone ZooKeeperServer is not closing the transaction log files on shutdown
  • ZOOKEEPER-1626 - Zookeeper C client should be tolerant of clock adjustments
  • ZOOKEEPER-1660 - Add documentation for dynamic reconfiguration
  • ZOOKEEPER-1730 - Make ZooKeeper easier to test - support simulating a session expiration
  • ZOOKEEPER-1761 - Expose 'check' version api in ZooKeeper client
  • ZOOKEEPER-1762 - Implement 'check' version cli command
  • ZOOKEEPER-1830 - Support command line shell for removing watches
  • ZOOKEEPER-1831 - Document remove watches details to the guide
  • ZOOKEEPER-1834 - Catch IOException in FileTxnLog
  • ZOOKEEPER-1837 - Fix JMXEnv checks (potential race conditions)
  • ZOOKEEPER-1849 - Need to properly tear down tests in various cases
  • ZOOKEEPER-1852 - ServerCnxnFactory instance is not properly cleanedup
  • ZOOKEEPER-1854 - ClientBase ZooKeeper server clean-up
  • ZOOKEEPER-1857 - PrepRequestProcessotTest doesn't shutdown ZooKeeper server
  • ZOOKEEPER-1858 - JMX checks - potential race conditions while stopping and starting server
  • ZOOKEEPER-1867 - Bug in ZkDatabaseCorruptionTest
  • ZOOKEEPER-1872 - QuorumPeer is not shutdown in few cases
  • ZOOKEEPER-1873 - Unnecessarily InstanceNotFoundException is coming when unregister failed jmxbeans
  • ZOOKEEPER-1874 - Add proper teardown/cleanups in ReconfigTest to shutdown quorumpeer
  • ZOOKEEPER-1904 - WatcherTest#testWatchAutoResetWithPending is failing
  • ZOOKEEPER-1972 - Fix invalid volatile long/int increment (++)
  • ZOOKEEPER-1975 - Turn off "internationalization warnings" in findbugs exclude file
  • ZOOKEEPER-1978 - Fix Multithreaded correctness Warnings
  • ZOOKEEPER-1979 - Fix Performance Warnings found by Findbugs 2.0.3
  • ZOOKEEPER-1981 - Fix Dodgy Code Warnings identified by findbugs 2.0.3
  • ZOOKEEPER-1988 - new test patch to verify dynamic reconfig backward compatibility
  • ZOOKEEPER-1989 - backward compatibility of zoo.cfg
  • ZOOKEEPER-1993 - Keep the client port upon parsing config
  • ZOOKEEPER-1995 - Safely remove client port in old config file on reconfig itself

Bug Fixes [3.5.0]

  • ZOOKEEPER-10 - Bad error message
  • ZOOKEEPER-87 - Follower does not shut itself down if its too far behind the leader.
  • ZOOKEEPER-366 - Session timeout detection can go wrong if the leader system time changes
  • ZOOKEEPER-445 - Potential bug in leader code
  • ZOOKEEPER-463 - C++ tests can't be built on Mac OS using XCode command line tools
  • ZOOKEEPER-492 - the tests should have their own log4j.properties
  • ZOOKEEPER-513 - C client disconnect with stand-alone server abnormally
  • ZOOKEEPER-515 - Zookeeper quorum didn't provide service when restart after an "Out of memory" crash
  • ZOOKEEPER-602 - log all exceptions not caught by ZK threads
  • ZOOKEEPER-642 - "exceeded deadline by N ms" floods logs
  • ZOOKEEPER-649 - testObserver timed out once on Hudson
  • ZOOKEEPER-653 - hudson failure in LETest
  • ZOOKEEPER-675 - LETest thread fails to join
  • ZOOKEEPER-697 - TestQuotaQuorum is failing on Hudson
  • ZOOKEEPER-705 - Fails to Build due to unknown opcode 'lock' in mt_adaptor.c
  • ZOOKEEPER-706 - large numbers of watches can cause session re-establishment to fail
  • ZOOKEEPER-714 - snapshotting doesn't handle runtime exceptions (like out of memory) well
  • ZOOKEEPER-732 - Improper translation of error into Python exception
  • ZOOKEEPER-752 - address use of "recoverable" vs "revocable" in lock recipes documentation
  • ZOOKEEPER-770 - Slow add_auth calls with multi-threaded client
  • ZOOKEEPER-780 - zkCli.sh generates a ArrayIndexOutOfBoundsException
  • ZOOKEEPER-786 - Exception in ZooKeeper.toString
  • ZOOKEEPER-832 - Invalid session id causes infinite loop during automatic reconnect
  • ZOOKEEPER-847 - Missing acl check in zookeeper create
  • ZOOKEEPER-856 - Connection imbalance leads to overloaded ZK instances
  • ZOOKEEPER-857 - clarify client vs. server view of session expiration event
  • ZOOKEEPER-872 - Small fixes to PurgeTxnLog
  • ZOOKEEPER-876 - Unnecessary snapshot transfers between new leader and followers
  • ZOOKEEPER-877 - zkpython does not work with python3.1
  • ZOOKEEPER-885 - Zookeeper drops connections under moderate IO load
  • ZOOKEEPER-900 - FLE implementation should be improved to use non-blocking sockets
  • ZOOKEEPER-915 - Errors that happen during sync() processing at the leader do not get propagated back to the client.
  • ZOOKEEPER-936 - zkpython is leaking ACL_vector
  • ZOOKEEPER-972 - perl Net::ZooKeeper segfaults when setting a watcher on get_children
  • ZOOKEEPER-973 - bind() could fail on Leader because it does not setReuseAddress on its ServerSocket
  • ZOOKEEPER-978 - ZookeeperServer does not close zk database on shutdwon
  • ZOOKEEPER-982 - zkServer.sh won't start zookeeper on an ubuntu 10.10 system due to a bug in the startup script.
  • ZOOKEEPER-984 - jenkins failure in testSessionMoved - NPE in quorum
  • ZOOKEEPER-986 - In QuoromCnxManager we are adding sent messgae to lastMessageSent, but we are never removing that message from it after sending it, so this will lead to sending the same message again in next round
  • ZOOKEEPER-991 - QuoromPeer.OBSERVER_ID
  • ZOOKEEPER-1002 - The Barrier sample code should create a EPHEMERAL znode instead of EPHEMERAL_SEQUENTIAL znode
  • ZOOKEEPER-1005 - Zookeeper servers fail to elect a leader succesfully.
  • ZOOKEEPER-1023 - zkpython: add_auth can deadlock the interpreter
  • ZOOKEEPER-1048 - addauth command does not work in cli_mt/cli_st
  • ZOOKEEPER-1050 - zooinspector shell scripts do not work
  • ZOOKEEPER-1057 - zookeeper c-client, connection to offline server fails to successfully fallback to second zk host
  • ZOOKEEPER-1062 - Net-ZooKeeper: Net::ZooKeeper consumes 100% cpu on wait
  • ZOOKEEPER-1077 - C client lib doesn't build on Solaris
  • ZOOKEEPER-1089 - zkServer.sh status does not work due to invalid option of nc
  • ZOOKEEPER-1100 - Killed (or missing) SendThread will cause hanging threads
  • ZOOKEEPER-1105 - c client zookeeper_close not send CLOSE_OP request to server
  • ZOOKEEPER-1125 - Intermittent java core test failures
  • ZOOKEEPER-1159 - ClientCnxn does not propagate session expiration indication
  • ZOOKEEPER-1163 - Memory leak in zk_hashtable.c:do_insert_watcher_object()
  • ZOOKEEPER-1167 - C api lacks synchronous version of sync() call.
  • ZOOKEEPER-1174 - FD leak when network unreachable
  • ZOOKEEPER-1179 - NettyServerCnxn does not properly close socket on 4 letter word requests
  • ZOOKEEPER-1181 - Fix problems with Kerberos TGT renewal
  • ZOOKEEPER-1184 - jute generated files are not being cleaned up via "ant clean"
  • ZOOKEEPER-1185 - Send AuthFailed event to client if SASL authentication fails
  • ZOOKEEPER-1189 - For an invalid snapshot file(less than 10bytes size) RandomAccessFile stream is leaking.
  • ZOOKEEPER-1190 - ant package is not including many of the bin scripts in the package (zkServer.sh for example)
  • ZOOKEEPER-1192 - Leader.waitForEpochAck() checks waitingForNewEpoch instead of checking electionFinished
  • ZOOKEEPER-1194 - Two possible race conditions during leader establishment
  • ZOOKEEPER-1197 - Incorrect socket handling of 4 letter words for NIO
  • ZOOKEEPER-1203 - Zookeeper systest is missing Junit Classes
  • ZOOKEEPER-1206 - Sequential node creation does not use always use digits in node name given certain Locales.
  • ZOOKEEPER-1207 - strange ReadOnlyZooKeeperServer ERROR when starting ensemble
  • ZOOKEEPER-1208 - Ephemeral node not removed after the client session is long gone
  • ZOOKEEPER-1209 - LeaderElection recipe doesn't handle the split-brain issue, n/w disconnection can bring both the client nodes to be in ELECTED
  • ZOOKEEPER-1212 - zkServer.sh stop action is not conformat with LSB para 20.2 Init Script Actions
  • ZOOKEEPER-1214 - QuorumPeer should unregister only its previsously registered MBeans instead of use MBeanRegistry.unregisterAll() method.
  • ZOOKEEPER-1220 - ./zkCli.sh 'create' command is throwing ArrayIndexOutOfBoundsException
  • ZOOKEEPER-1222 - getACL should only call DataTree.copyStat when passed in stat is not null
  • ZOOKEEPER-1224 - problem across zookeeper clients when reading data written by other clients
  • ZOOKEEPER-1225 - Successive invocation of LeaderElectionSupport.start() will bring the ELECTED node to READY and cause no one in ELECTED state.
  • ZOOKEEPER-1236 - Security uses proprietary Sun APIs
  • ZOOKEEPER-1237 - ERRORs being logged when queued responses are sent after socket has closed.
  • ZOOKEEPER-1238 - when the linger time was changed for NIO the patch missed Netty
  • ZOOKEEPER-1241 - Typo in ZooKeeper Recipes and Solutions documentation
  • ZOOKEEPER-1256 - ClientPortBindTest is failing on Mac OS X
  • ZOOKEEPER-1262 - Documentation for Lock recipe has major flaw
  • ZOOKEEPER-1264 - FollowerResyncConcurrencyTest failing intermittently
  • ZOOKEEPER-1268 - problems with read only mode, intermittent test failures and ERRORs in the log
  • ZOOKEEPER-1269 - Multi deserialization issues
  • ZOOKEEPER-1270 - testEarlyLeaderAbandonment failing intermittently, quorum formed, no serving.
  • ZOOKEEPER-1271 - testEarlyLeaderAbandonment failing on solaris - clients not retrying connection
  • ZOOKEEPER-1273 - Copy'n'pasted unit test
  • ZOOKEEPER-1274 - Support child watches to be displayed with 4 letter zookeeper commands (i.e. wchs, wchp and wchc)
  • ZOOKEEPER-1277 - servers stop serving when lower 32bits of zxid roll over
  • ZOOKEEPER-1294 - One of the zookeeper server is not accepting any requests
  • ZOOKEEPER-1300 - Rat complains about incosistent licenses in the src files.
  • ZOOKEEPER-1303 - Observer LearnerHandlers are not removed from Leader collection.
  • ZOOKEEPER-1305 - zookeeper.c:prepend_string func can dereference null ptr
  • ZOOKEEPER-1307 - zkCli.sh is exiting when an Invalid ACL exception is thrown from setACL command through client
  • ZOOKEEPER-1311 - ZooKeeper test jar is broken
  • ZOOKEEPER-1315 - zookeeper_init always reports sessionPasswd=
  • ZOOKEEPER-1316 - zookeeper_init leaks memory if chroot is just '/'
  • ZOOKEEPER-1317 - Possible segfault in zookeeper_init
  • ZOOKEEPER-1318 - In Python binding, get_children (and get and exists, and probably others) with expired session doesn't raise exception properly
  • ZOOKEEPER-1319 - Missing data after restarting+expanding a cluster
  • ZOOKEEPER-1323 - c client doesn't compile on freebsd
  • ZOOKEEPER-1327 - there are still remnants of hadoop urls
  • ZOOKEEPER-1330 - Zookeeper server not serving the client request even after completion of Leader election
  • ZOOKEEPER-1331 - Typo in docs: acheive -> achieve
  • ZOOKEEPER-1333 - NPE in FileTxnSnapLog when restarting a cluster
  • ZOOKEEPER-1334 - Zookeeper 3.4.x is not OSGi compliant - MANIFEST.MF is flawed
  • ZOOKEEPER-1336 - javadoc for multi is confusing, references functionality that doesn't seem to exist
  • ZOOKEEPER-1338 - class cast exceptions may be thrown by multi ErrorResult class (invalid equals)
  • ZOOKEEPER-1339 - C clien doesn't build with --enable-debug
  • ZOOKEEPER-1340 - multi problem - typical user operations are generating ERROR level messages in the server
  • ZOOKEEPER-1343 - getEpochToPropose should check if lastAcceptedEpoch is greater or equal than epoch
  • ZOOKEEPER-1344 - ZooKeeper client multi-update command is not considering the Chroot request
  • ZOOKEEPER-1351 - invalid test verification in MultiTransactionTest
  • ZOOKEEPER-1352 - server.InvalidSnapshotTest is using connection timeouts that are too short
  • ZOOKEEPER-1353 - C client test suite fails consistently
  • ZOOKEEPER-1354 - AuthTest.testBadAuthThenSendOtherCommands fails intermittently
  • ZOOKEEPER-1357 - Zab1_0Test uses hard-wired port numbers. Specifically, it uses the same port for leader in two different tests. The second test periodically fails complaining that the port is still in use.
  • ZOOKEEPER-1358 - In StaticHostProviderTest.java, testNextDoesNotSleepForZero tests that hostProvider.next(0) doesn't sleep by checking that the latency of this call is less than 10sec
  • ZOOKEEPER-1360 - QuorumTest.testNoLogBeforeLeaderEstablishment has several problems
  • ZOOKEEPER-1361 - Leader.lead iterates over 'learners' set without proper synchronisation
  • ZOOKEEPER-1366 - Zookeeper should be tolerant of clock adjustments
  • ZOOKEEPER-1367 - Data inconsistencies and unexpired ephemeral nodes after cluster restart
  • ZOOKEEPER-1371 - Remove dependency on log4j in the source code.
  • ZOOKEEPER-1373 - Hardcoded SASL login context name clashes with Hadoop security configuration override
  • ZOOKEEPER-1374 - C client multi-threaded test suite fails to compile on ARM architectures.
  • ZOOKEEPER-1379 - 'printwatches, redo, history and connect '. client commands always print usage. This is not necessary
  • ZOOKEEPER-1380 - zkperl: _zk_release_watch doesn't remove items properly from the watch list
  • ZOOKEEPER-1382 - Zookeeper server holds onto dead/expired session ids in the watch data structures
  • ZOOKEEPER-1384 - test-cppunit overrides LD_LIBRARY_PATH and fails if gcc is in non-standard location
  • ZOOKEEPER-1386 - avoid flaky URL redirection in "ant javadoc" : replace "http://java.sun.com/javase/6/docs/api/" with "http://download.oracle.com/javase/6/docs/api/"
  • ZOOKEEPER-1387 - Wrong epoch file created
  • ZOOKEEPER-1388 - Client side 'PathValidation' is missing for the multi-transaction api.
  • ZOOKEEPER-1391 - zkCli dies on NoAuth
  • ZOOKEEPER-1395 - node-watcher double-free redux
  • ZOOKEEPER-1403 - zkCli.sh script quoting issue
  • ZOOKEEPER-1406 - dpkg init scripts don't restart - missing check_priv_sep_dir
  • ZOOKEEPER-1412 - java client watches inconsistently triggered on reconnect
  • ZOOKEEPER-1417 - investigate differences in client last zxid handling btw c and java clients
  • ZOOKEEPER-1419 - Leader election never settles for a 5-node cluster
  • ZOOKEEPER-1427 - Writing to local files is done non-atomically
  • ZOOKEEPER-1431 - zkpython: async calls leak memory
  • ZOOKEEPER-1437 - Client uses session before SASL authentication complete
  • ZOOKEEPER-1439 - c sdk: core in log_env for lack of checking the output argument pwp of getpwuid_r
  • ZOOKEEPER-1440 - Spurious log error messages when QuorumCnxManager is shutting down
  • ZOOKEEPER-1448 - Node+Quota creation in transaction log can crash leader startup
  • ZOOKEEPER-1451 - C API improperly logs getaddrinfo failures on Linux when using glibc
  • ZOOKEEPER-1463 - external inline function is not compatible with C99
  • ZOOKEEPER-1465 - Cluster availability following new leader election takes a long time with large datasets - is correlated to dataset size
  • ZOOKEEPER-1466 - QuorumCnxManager.shutdown missing synchronization
  • ZOOKEEPER-1471 - Jute generates invalid C++ code
  • ZOOKEEPER-1473 - Committed proposal log retains triple the memory it needs to
  • ZOOKEEPER-1474 - Cannot build Zookeeper with IBM Java: use of Sun MXBean classes
  • ZOOKEEPER-1478 - Small bug in QuorumTest.testFollowersStartAfterLeader( )
  • ZOOKEEPER-1479 - C Client: zoo_add_auth() doesn't wake up the IO thread
  • ZOOKEEPER-1480 - ClientCnxn(1161) can't get the current zk server add, so that - Session 0x for server null, unexpected error
  • ZOOKEEPER-1483 - Fix leader election recipe documentation
  • ZOOKEEPER-1489 - Data loss after truncate on transaction log
  • ZOOKEEPER-1490 - If the configured log directory does not exist zookeeper will not start. Better to create the directory and start
  • ZOOKEEPER-1493 - C Client: zookeeper_process doesn't invoke completion callback if zookeeper_close has been called
  • ZOOKEEPER-1494 - C client: socket leak after receive timeout in zookeeper_interest()
  • ZOOKEEPER-1495 - ZK client hangs when using a function not available on the server.
  • ZOOKEEPER-1496 - Ephemeral node not getting cleared even after client has exited
  • ZOOKEEPER-1499 - clientPort config changes not backwards-compatible
  • ZOOKEEPER-1501 - Nagios plugin always returns OK when it cannot connect to zookeeper
  • ZOOKEEPER-1513 - "Unreasonable length" exception while starting a server.
  • ZOOKEEPER-1514 - FastLeaderElection - leader ignores the round information when joining a quorum
  • ZOOKEEPER-1519 - Zookeeper Async calls can reference free()'d memory
  • ZOOKEEPER-1520 - A txn log record with a corrupt sentinel byte looks like EOF
  • ZOOKEEPER-1521 - LearnerHandler initLimit/syncLimit problems specifying follower socket timeout limits
  • ZOOKEEPER-1522 - intermittent failures in Zab test due to NPE in recursiveDelete test function
  • ZOOKEEPER-1531 - Correct the documentation of the args for the JavaExample doc.
  • ZOOKEEPER-1533 - Correct the documentation of the args for the JavaExample doc.
  • ZOOKEEPER-1535 - ZK Shell/Cli re-executes last command on exit
  • ZOOKEEPER-1536 - c client : memory leak in winport.c
  • ZOOKEEPER-1538 - Improve space handling in zkServer.sh and zkEnv.sh
  • ZOOKEEPER-1540 - ZOOKEEPER-1411 breaks backwards compatibility
  • ZOOKEEPER-1549 - Data inconsistency when follower is receiving a DIFF with a dirty snapshot
  • ZOOKEEPER-1551 - Observers ignore txns that come after snapshot and UPTODATE
  • ZOOKEEPER-1553 - Findbugs configuration is missing some dependencies
  • ZOOKEEPER-1554 - Can't use zookeeper client without SASL
  • ZOOKEEPER-1557 - jenkins jdk7 test failure in testBadSaslAuthNotifiesWatch
  • ZOOKEEPER-1560 - Zookeeper client hangs on creation of large nodes
  • ZOOKEEPER-1561 - Zookeeper client may hang on a server restart
  • ZOOKEEPER-1562 - Memory leaks in zoo_multi API
  • ZOOKEEPER-1573 - Unable to load database due to missing parent node
  • ZOOKEEPER-1575 - adding .gitattributes to prevent CRLF and LF mismatches for source and text files
  • ZOOKEEPER-1576 - Zookeeper cluster - failed to connect to cluster if one of the provided IPs causes java.net.UnknownHostException
  • ZOOKEEPER-1578 - org.apache.zookeeper.server.quorum.Zab1_0Test failed due to hard code with 33556 port
  • ZOOKEEPER-1581 - change copyright in notice to 2012
  • ZOOKEEPER-1585 - make dist for src/c broken in trunk
  • ZOOKEEPER-1590 - Patch to add zk.updateServerList(newServerList) broke the build
  • ZOOKEEPER-1591 - Windows build is broken because inttypes.h doesn't exist
  • ZOOKEEPER-1596 - Zab1_0Test should ensure that the file is closed
  • ZOOKEEPER-1597 - Windows build failing
  • ZOOKEEPER-1602 - a change to QuorumPeerConfig's API broke compatibility with HBase
  • ZOOKEEPER-1603 - StaticHostProviderTest testUpdateClientMigrateOrNot hangs
  • ZOOKEEPER-1606 - intermittent failures in ZkDatabaseCorruptionTest on jenkins
  • ZOOKEEPER-1610 - Some classes are using == or != to compare Long/String objects instead of .equals()
  • ZOOKEEPER-1613 - The documentation still points to 2008 in the copyright notice
  • ZOOKEEPER-1620 - NIOServerCnxnFactory (new code introduced in ZK-1504) opens selectors but never closes them
  • ZOOKEEPER-1621 - ZooKeeper does not recover from crash when disk was full
  • ZOOKEEPER-1622 - session ids will be negative in the year 2022
  • ZOOKEEPER-1624 - PrepRequestProcessor abort multi-operation incorrectly
  • ZOOKEEPER-1625 - zkServer.sh is looking for clientPort in config file, but it may no longer be there with ZK-1411
  • ZOOKEEPER-1628 - Documented list of allowable characters in ZK doc not in line with code
  • ZOOKEEPER-1629 - testTransactionLogCorruption occasionally fails
  • ZOOKEEPER-1632 - fix memory leaks in cli_st
  • ZOOKEEPER-1641 - Using slope=positive results in a jagged ganglia graph of packets rcvd/sent
  • ZOOKEEPER-1642 - Leader loading database twice
  • ZOOKEEPER-1643 - Windows: fetch_and_add not 64bit-compatible, may not be correct
  • ZOOKEEPER-1645 - ZooKeeper OSGi package imports not complete
  • ZOOKEEPER-1646 - mt c client tests fail on Ubuntu Raring
  • ZOOKEEPER-1647 - OSGi package import/export changes not applied to bin-jar
  • ZOOKEEPER-1648 - Fix WatcherTest in JDK7
  • ZOOKEEPER-1650 - testServerCnxnExpiry failing consistently on solaris apache jenkins
  • ZOOKEEPER-1655 - Make jline dependency optional in maven pom
  • ZOOKEEPER-1657 - Increased CPU usage by unnecessary SASL checks
  • ZOOKEEPER-1659 - Add JMX support for dynamic reconfiguration
  • ZOOKEEPER-1662 - Fix to two small bugs in ReconfigTest.testPortChange()
  • ZOOKEEPER-1663 - scripts don't work when path contains spaces
  • ZOOKEEPER-1667 - Watch event isn't handled correctly when a client reestablish to a server
  • ZOOKEEPER-1670 - zookeeper should set a default value for SERVER_JVMFLAGS and CLIENT_JVMFLAGS so that memory usage is controlled
  • ZOOKEEPER-1672 - zookeeper client does not accept "-members" option in reconfig command
  • ZOOKEEPER-1673 - Zookeeper don't support cidr in expression in ACL with ip scheme
  • ZOOKEEPER-1677 - Misuse of INET_ADDRSTRLEN
  • ZOOKEEPER-1683 - ZooKeeper client NPE when updating server list on disconnected client
  • ZOOKEEPER-1684 - Failure to update socket addresses on immedate connection
  • ZOOKEEPER-1694 - ZooKeeper Leader sends a repeated NEWLEADER quorum packet to followers
  • ZOOKEEPER-1695 - Inconsistent error code and type for new errors introduced by dynamic reconfiguration
  • ZOOKEEPER-1696 - Fail to run zookeeper client on Weblogic application server
  • ZOOKEEPER-1697 - large snapshots can cause continuous quorum failure
  • ZOOKEEPER-1699 - Leader should timeout and give up leadership when losing quorum of last proposed configuration
  • ZOOKEEPER-1700 - FLETest consistently failing - setLastSeenQuorumVerifier seems to be hanging
  • ZOOKEEPER-1702 - ZooKeeper client may write operation packets before receiving successful response to connection request, can cause TCP RST
  • ZOOKEEPER-1706 - Typo in Double Barriers example
  • ZOOKEEPER-1713 - wrong time calculation in zkfuse.cc
  • ZOOKEEPER-1714 - perl client segfaults if ZOO_READ_ACL_UNSAFE constant is used
  • ZOOKEEPER-1719 - zkCli.sh, zkServer.sh and zkEnv.sh regression caused by ZOOKEEPER-1663
  • ZOOKEEPER-1725 - Zookeeper Dynamic Conf writes out hostnames when IPs are supplied
  • ZOOKEEPER-1732 - ZooKeeper server unable to join established ensemble
  • ZOOKEEPER-1733 - FLETest#testLE is flaky on windows boxes
  • ZOOKEEPER-1742 - "make check" doesn't work on macos
  • ZOOKEEPER-1744 - clientPortAddress breaks "zkServer.sh status"
  • ZOOKEEPER-1745 - Wrong Import-Package in the META-INF/MANIFEST.MF of zookeeper 3.4.5 bundle
  • ZOOKEEPER-1750 - Race condition producing NPE in NIOServerCnxn.toString
  • ZOOKEEPER-1751 - ClientCnxn#run could miss the second ping or connection get dropped before a ping
  • ZOOKEEPER-1753 - ClientCnxn is not properly releasing the resources, which are used to ping RwServer
  • ZOOKEEPER-1754 - Read-only server allows to create znode
  • ZOOKEEPER-1755 - Concurrent operations of four letter 'dump' ephemeral command and killSession causing NPE
  • ZOOKEEPER-1756 - zookeeper_interest() in C client can return a timeval of 0
  • ZOOKEEPER-1765 - Update code conventions link on "How to contribute" page
  • ZOOKEEPER-1768 - Cluster fails election loop until the device is full
  • ZOOKEEPER-1769 - ZooInspector can't display node data/metadata/ACLs
  • ZOOKEEPER-1770 - NullPointerException in SnapshotFormatter
  • ZOOKEEPER-1773 - incorrect reference to jline version/lib in docs
  • ZOOKEEPER-1774 - QuorumPeerMainTest fails consistently with "complains about host" assertion failure
  • ZOOKEEPER-1775 - Ephemeral nodes not present in one of the members of the ensemble
  • ZOOKEEPER-1776 - Ephemeral nodes not present in one of the members of the ensemble
  • ZOOKEEPER-1777 - Missing ephemeral nodes in one of the members of the ensemble
  • ZOOKEEPER-1779 - ReconfigTest littering the source root with test files
  • ZOOKEEPER-1781 - ZooKeeper Server fails if snapCount is set to 1
  • ZOOKEEPER-1783 - Distinguish initial configuration from first established configuration
  • ZOOKEEPER-1784 - Logic to process INFORMANDACTIVATE packets in syncWithLeader seems bogus
  • ZOOKEEPER-1785 - Small fix in zkServer.sh to support new configuration format
  • ZOOKEEPER-1786 - ZooKeeper data model documentation is incorrect
  • ZOOKEEPER-1789 - 3.4.x observer causes NPE on 3.5.0 (trunk) participants
  • ZOOKEEPER-1790 - Deal with special ObserverId in QuorumCnxManager.receiveConnection
  • ZOOKEEPER-1791 - ZooKeeper package includes unnecessary jars that are part of the package.
  • ZOOKEEPER-1795 - unable to build c client on ubuntu
  • ZOOKEEPER-1797 - PurgeTxnLog may delete data logs during roll
  • ZOOKEEPER-1798 - Fix race condition in testNormalObserverRun
  • ZOOKEEPER-1799 - SaslAuthFailDesignatedClientTest.testAuth fails frequently on SUSE
  • ZOOKEEPER-1800 - jenkins failure in testGetProposalFromTxn
  • ZOOKEEPER-1801 - TestReconfig failure
  • ZOOKEEPER-1806 - testCurrentServersAreObserversInNextConfig failing frequently on trunk with non-jdk6
  • ZOOKEEPER-1807 - Observers spam each other creating connections to the election addr
  • ZOOKEEPER-1810 - Add version to FLE notifications for trunk
  • ZOOKEEPER-1811 - The ZooKeeperSaslClient service name principal is hardcoded to "zookeeper"
  • ZOOKEEPER-1812 - ZooInspector reconnection always fails if first connection fails
  • ZOOKEEPER-1813 - Zookeeper restart fails due to missing node from snapshot
  • ZOOKEEPER-1814 - Reduction of waiting time during Fast Leader Election
  • ZOOKEEPER-1818 - Fix don't care for trunk
  • ZOOKEEPER-1819 - DeserializationPerfTest calls method with wrong arguments
  • ZOOKEEPER-1821 - very ugly warning when compiling load_gen.c
  • ZOOKEEPER-1823 - LogFormatter should support printing transaction data as a string
  • ZOOKEEPER-1835 - dynamic configuration file renaming fails on Windows
  • ZOOKEEPER-1836 - addrvec_next() fails to set next parameter if addrvec_hasnext() returns false
  • ZOOKEEPER-1839 - Deadlock in NettyServerCnxn
  • ZOOKEEPER-1843 - Oddity in ByteBufferInputStream skip
  • ZOOKEEPER-1844 - TruncateTest fails on windows
  • ZOOKEEPER-1847 - Normalize line endings in repository
  • ZOOKEEPER-1848 - [WINDOWS] Java NIO socket channels does not work with Windows ipv6 on JDK6
  • ZOOKEEPER-1850 - cppunit test testNonexistingHost in TestZookeeperInit is failing on Unbuntu
  • ZOOKEEPER-1851 - Follower and Observer Request Processors Do Not Forward create2 Requests
  • ZOOKEEPER-1855 - calls to zoo_set_server() fail to flush outstanding request queue.
  • ZOOKEEPER-1860 - Async versions of reconfig don't actually throw KeeperException nor InterruptedException
  • ZOOKEEPER-1861 - ConcurrentHashMap isn't used properly in QuorumCnxManager
  • ZOOKEEPER-1862 - ServerCnxnTest.testServerCnxnExpiry is intermittently failing
  • ZOOKEEPER-1863 - Race condition in commit processor leading to out of order request completion, xid mismatch on client.
  • ZOOKEEPER-1864 - quorumVerifier is null when creating a QuorumPeerConfig from parsing a Properties object
  • ZOOKEEPER-1865 - Fix retry logic in Learner.connectToLeader()
  • ZOOKEEPER-1870 - flakey test in StandaloneDisabledTest.startSingleServerTest
  • ZOOKEEPER-1875 - NullPointerException in ClientCnxn$EventThread.processEvent
  • ZOOKEEPER-1877 - Malformed ACL Id can crash server with skipACL=yes
  • ZOOKEEPER-1878 - Inconsistent behavior in autocreation of dataDir and dataLogDir
  • ZOOKEEPER-1883 - C client unit test failures
  • ZOOKEEPER-1888 - ZkCli.cmd commands fail with "'java' is not recognized as an internal or external command"
  • ZOOKEEPER-1891 - StaticHostProviderTest.testUpdateLoadBalancing times out
  • ZOOKEEPER-1892 - addrvec_next gets called twice when failing over to the next server
  • ZOOKEEPER-1894 - ObserverTest.testObserver fails consistently
  • ZOOKEEPER-1895 - update all notice files, copyright, etc... with the new year - 2014
  • ZOOKEEPER-1896 - Reconfig error messages when upgrading from 3.4.6 to 3.5.0
  • ZOOKEEPER-1897 - ZK Shell/Cli not processing commands
  • ZOOKEEPER-1900 - NullPointerException in truncate
  • ZOOKEEPER-1901 - [JDK8] Sort children for comparison in AsyncOps tests
  • ZOOKEEPER-1906 - zkpython: invalid data in GetData for empty node
  • ZOOKEEPER-1909 - removeWatches doesn't return NOWATCHER when there is no watch set
  • ZOOKEEPER-1910 - RemoveWatches wrongly removes the watcher if multiple watches exists on a path
  • ZOOKEEPER-1911 - REST contrib module does not include all required files when packaged
  • ZOOKEEPER-1913 - Invalid manifest files due to bogus revision property value
  • ZOOKEEPER-1917 - Apache Zookeeper logs cleartext admin passwords
  • ZOOKEEPER-1919 - Update the C implementation of removeWatches to have it match ZOOKEEPER-1910
  • ZOOKEEPER-1923 - A typo in zookeeperStarted document
  • ZOOKEEPER-1926 - Unit tests should only use build/test/data for data
  • ZOOKEEPER-1932 - org.apache.zookeeper.test.LETest.testLE fails once in a while
  • ZOOKEEPER-1933 - Windows release build of zk client cannot connect to zk server
  • ZOOKEEPER-1939 - ReconfigRecoveryTest.testNextConfigUnreachable is failing
  • ZOOKEEPER-1945 - deb - zkCli.sh, zkServer.sh and zkEnv.sh regression caused by ZOOKEEPER-1663
  • ZOOKEEPER-1949 - recipes jar not included in the distribution package
  • ZOOKEEPER-1950 - configBackwardCompatibilityMode breaks compatibility
  • ZOOKEEPER-1964 - Fix Flaky Test in ReconfigTest.java
  • ZOOKEEPER-1966 - VS and line breaks
  • ZOOKEEPER-1969 - Fix Port Already In Use for JettyAdminServerTest
  • ZOOKEEPER-1973 - Jetty Server changes broke ibm6 support
  • ZOOKEEPER-1974 - winvs2008 jenkins job failing with "unresolved external symbol"
  • ZOOKEEPER-1983 - Append to zookeeper.out (not overwrite) to support logrotation
  • ZOOKEEPER-1984 - testLeaderTimesoutOnNewQuorum is a flakey test
  • ZOOKEEPER-1985 - Memory leak in C client
  • ZOOKEEPER-1987 - unable to restart 3 node cluster
  • ZOOKEEPER-1990 - suspicious instantiation of java Random instances
  • ZOOKEEPER-1991 - zkServer.sh returns with a zero exit status when a ZooKeeper process is already running
  • ZOOKEEPER-1992 - backward compatibility of zoo.cfg
  • ZOOKEEPER-1998 - C library calls getaddrinfo unconditionally from zookeeper_interest
  • ZOOKEEPER-1999 - Converting CRLF to LF in DynamicConfigBackwardCompatibilityTest
  • ZOOKEEPER-2000 - Fix ReconfigTest.testPortChange

Improvement [3.5.0]

  • ZOOKEEPER-74 - Cleaning/restructuring up Zookeeper server code
  • ZOOKEEPER-107 - Allow dynamic changes to server cluster membership
  • ZOOKEEPER-216 - Improve logging in C client
  • ZOOKEEPER-271 - Better command line parsing in ZookeeperMain.
  • ZOOKEEPER-297 - centralize version numbering in the source/build
  • ZOOKEEPER-304 - factor out common methods from zookeeper.java
  • ZOOKEEPER-556 - Startup messages should account for common error of missing leading slash in config files
  • ZOOKEEPER-657 - Cut down the running time of ZKDatabase corruption.
  • ZOOKEEPER-715 - add better reporting for initLimit being reached
  • ZOOKEEPER-716 - dump server memory detail to the log during startup
  • ZOOKEEPER-721 - Minor cleanup related to the log4j version change from 1.2.15 -> 1.2.16
  • ZOOKEEPER-748 - zkPython's NodeExistsException should include information about the node that exists
  • ZOOKEEPER-751 - Recipe heading refers to 'recoverable' but should be 'revocable'
  • ZOOKEEPER-755 - Improve c client documentation to reflect that zookeeper_init() creates its own copy of list of host.
  • ZOOKEEPER-756 - some cleanup and improvements for zooinspector
  • ZOOKEEPER-759 - Stop accepting connections when close to file descriptor limit
  • ZOOKEEPER-760 - Improved string encoding and decoding performance
  • ZOOKEEPER-761 - Remove synchronous calls from the single-threaded C clieant API, since they are documented not to work
  • ZOOKEEPER-767 - Submitting Demo/Recipe Shared / Exclusive Lock Code
  • ZOOKEEPER-776 - API should sanity check sessionTimeout argument
  • ZOOKEEPER-802 - Improved LogGraph filters + documentation
  • ZOOKEEPER-845 - remove duplicate code from netty and nio ServerCnxn classes
  • ZOOKEEPER-860 - Add alternative search-provider to ZK site
  • ZOOKEEPER-896 - Improve C client to support dynamic authentication schemes
  • ZOOKEEPER-906 - Improve C client connection reliability by making it sleep between reconnect attempts as in Java Client
  • ZOOKEEPER-912 - ZooKeeper client logs trace and debug messages at level INFO
  • ZOOKEEPER-922 - enable faster timeout of sessions in case of unexpected socket disconnect
  • ZOOKEEPER-927 - there are currently 24 RAT warnings in the build -- address directly or via exclusions
  • ZOOKEEPER-935 - Concurrent primitives library - shared lock
  • ZOOKEEPER-955 - Use Atomic(Integer|Long) for (Z)Xid
  • ZOOKEEPER-1000 - Provide SSL in zookeeper to be able to run cross colos.
  • ZOOKEEPER-1019 - zkfuse doesn't list dependency on boost in README
  • ZOOKEEPER-1032 - speed up recovery from leader failure
  • ZOOKEEPER-1054 - Drop connections from servers not in the cluster configuration
  • ZOOKEEPER-1067 - the doxygen doc should be generated as part of the release
  • ZOOKEEPER-1096 - Leader communication should listen on specified IP, not wildcard address
  • ZOOKEEPER-1147 - Add support for local sessions
  • ZOOKEEPER-1162 - consistent handling of jute.maxbuffer when attempting to read large zk "directories"
  • ZOOKEEPER-1170 - Fix compiler (eclipse) warnings: unused imports, unused variables, missing generics
  • ZOOKEEPER-1175 - DataNode references parent node for no reason
  • ZOOKEEPER-1177 - Enabling a large number of watches for a large number of clients
  • ZOOKEEPER-1178 - Add eclipse target for supporting Apache IvyDE
  • ZOOKEEPER-1205 - Add a unit test for Kerberos Ticket-Granting Ticket (TGT) renewal
  • ZOOKEEPER-1219 - LeaderElectionSupport recipe is unnecessarily dispatching the READY_START event even if the ELECTED node stopped/expired simultaneously.
  • ZOOKEEPER-1229 - C client hashtable_remove redundantly calls hash function
  • ZOOKEEPER-1232 - remove unused o.a.z.server.util.Profiler
  • ZOOKEEPER-1239 - add logging/stats to identify fsync stalls
  • ZOOKEEPER-1261 - Make ZooKeeper code mode Dependency Injection compliant.
  • ZOOKEEPER-1292 - FLETest is flaky
  • ZOOKEEPER-1293 - Remove unused readyToStart from Leader.java
  • ZOOKEEPER-1296 - Add zookeeper-setup-conf.sh script
  • ZOOKEEPER-1321 - Add number of client connections metric in JMX and srvr
  • ZOOKEEPER-1322 - Cleanup/fix logging in Quorum code.
  • ZOOKEEPER-1324 - Remove Duplicate NEWLEADER packets from the Leader to the Follower.
  • ZOOKEEPER-1335 - Add support for --config to zkEnv.sh to specify a config directory different than what is expected
  • ZOOKEEPER-1342 - quorum Listener & LearnerCnxAcceptor are missing thread names
  • ZOOKEEPER-1345 - Add a .gitignore file with general exclusions and Eclipse project files excluded
  • ZOOKEEPER-1346 - Add Jetty HTTP server support for four letter words.
  • ZOOKEEPER-1350 - Please make JMX registration optional in LearnerZooKeeperServer
  • ZOOKEEPER-1377 - add support for dumping a snapshot file content (similar to LogFormatter)
  • ZOOKEEPER-1389 - it would be nice if start-foreground used exec $JAVA in order to get rid of the intermediate shell process
  • ZOOKEEPER-1390 - some expensive debug code not protected by a check for debug
  • ZOOKEEPER-1397 - Remove BookKeeper documentation links
  • ZOOKEEPER-1400 - Allow logging via callback instead of raw FILE pointer
  • ZOOKEEPER-1407 - Support GetData and GetChildren in Multi
  • ZOOKEEPER-1408 - CLI: sort output of ls command
  • ZOOKEEPER-1409 - CLI: deprecate ls2 command
  • ZOOKEEPER-1413 - Use on-disk transaction log for learner sync up
  • ZOOKEEPER-1426 - add version command to the zookeeper server
  • ZOOKEEPER-1432 - Add javadoc and debug logging for checkACL() method in PrepRequestProcessor
  • ZOOKEEPER-1433 - improve ZxidRolloverTest (test seems flakey)
  • ZOOKEEPER-1435 - cap space usage of default log4j rolling policy
  • ZOOKEEPER-1445 - Add support for binary data for zktreeutil
  • ZOOKEEPER-1452 - zoo_multi() & zoo_amulti() update operations for zkpython
  • ZOOKEEPER-1454 - Document how to run autoreconf if cppunit is installed in a non-standard directory
  • ZOOKEEPER-1469 - Adding Cross-Realm support for secure Zookeeper client authentication
  • ZOOKEEPER-1481 - allow the C cli to run exists with a watcher
  • ZOOKEEPER-1497 - Allow server-side SASL login with JAAS configuration to be programmatically set (rather than only by reading JAAS configuration file)
  • ZOOKEEPER-1502 - Prevent multiple zookeeper servers from using the same data directory
  • ZOOKEEPER-1503 - remove redundant JAAS configuration code in SaslAuthTest and SaslAuthFailTest
  • ZOOKEEPER-1504 - Multi-thread NIOServerCnxn
  • ZOOKEEPER-1505 - Multi-thread CommitProcessor
  • ZOOKEEPER-1506 - Re-try DNS hostname -> IP resolution if node connection fails
  • ZOOKEEPER-1510 - Should not log SASL errors for non-secure usage
  • ZOOKEEPER-1525 - Plumb ZooKeeperServer object into auth plugins
  • ZOOKEEPER-1532 - Correct the documentation of the args for the JavaExample doc.
  • ZOOKEEPER-1552 - Enable sync request processor in Observer
  • ZOOKEEPER-1564 - Allow JUnit test build with IBM Java
  • ZOOKEEPER-1572 - Add an async interface for multi request
  • ZOOKEEPER-1574 - mismatched CR/LF endings in text files
  • ZOOKEEPER-1583 - Document maxClientCnxns in conf/zoo_sample.cfg
  • ZOOKEEPER-1584 - Adding mvn-install target for deploying the zookeeper artifacts to .m2 repository.
  • ZOOKEEPER-1598 - Ability to support more digits in the version string
  • ZOOKEEPER-1601 - document changes for multi-threaded CommitProcessor and NIOServerCnxn
  • ZOOKEEPER-1615 - minor typos in ZooKeeper Programmer's Guide web page
  • ZOOKEEPER-1619 - Allow spaces in URL
  • ZOOKEEPER-1627 - Add org.apache.zookeeper.common to exported packages in OSGi MANIFEST headers
  • ZOOKEEPER-1634 - A new feature proposal to ZooKeeper: authentication enforcement
  • ZOOKEEPER-1635 - ZooKeeper C client doesn't compile on 64 bit Windows
  • ZOOKEEPER-1638 - Redundant zk.getZKDatabase().clear();
  • ZOOKEEPER-1666 - Avoid Reverse DNS lookup if the hostname in connection string is literal IP address.
  • ZOOKEEPER-1679 - c client: use -Wdeclaration-after-statement
  • ZOOKEEPER-1681 - ZooKeeper 3.4.x can optionally use netty for nio but the pom does not declare the dep as optional
  • ZOOKEEPER-1691 - Add a flag to disable standalone mode
  • ZOOKEEPER-1701 - When new and old config have the same version, no need to write new config to disk or create new connections
  • ZOOKEEPER-1715 - Upgrade netty version
  • ZOOKEEPER-1724 - Support Kerberos authentication for non-SUN JDK
  • ZOOKEEPER-1728 - Better error message when reconfig invoked in standalone mode
  • ZOOKEEPER-1746 - AsyncCallback.*Callback don't have any Javadoc
  • ZOOKEEPER-1748 - TCP keepalive for leader election connections
  • ZOOKEEPER-1749 - Login outside of Zookeeper client
  • ZOOKEEPER-1758 - Add documentation for zookeeper.observer.syncEnabled flag
  • ZOOKEEPER-1759 - Adding ability to allow READ operations for authenticated users, versus keeping ACLs wide open for READ
  • ZOOKEEPER-1766 - Consistent log severity level guards and statements
  • ZOOKEEPER-1771 - ZooInspector authentication
  • ZOOKEEPER-1778 - Use static final Logger objects
  • ZOOKEEPER-1796 - Move common code from {Follower, Observer}ZooKeeperServer into LearnerZooKeeperServer
  • ZOOKEEPER-1815 - Tolerate incorrectly set system hostname in tests
  • ZOOKEEPER-1876 - Add support for installing windows services in .cmd scripts
  • ZOOKEEPER-1879 - improve the correctness checking of txn log replay
  • ZOOKEEPER-1881 - Shutdown server immediately upon PrivilegedActionException
  • ZOOKEEPER-1907 - Improve Thread handling
  • ZOOKEEPER-1915 - Use $(ProjectDir) macro to specify include directories
  • ZOOKEEPER-1946 - Server logging should reflect dynamically reconfigured address
  • ZOOKEEPER-1948 - Enable JMX remote monitoring - Updated patch for review comments
  • ZOOKEEPER-1953 - Add solution and project files to enable build with current Visual Studio editions (VS 2012/2013) - 32-bit and 64-bit.
  • ZOOKEEPER-1968 - Make Jetty dependencies optional in ivy.xml
  • ZOOKEEPER-1970 - Fix Findbugs Warnings
  • ZOOKEEPER-1982 - Refactor (touch|add)Session in SessionTrackerImpl.java
  • ZOOKEEPER-1986 - refactor log trace on touchSession
  • ZOOKEEPER-1994 - Backup config files.

New Feature [3.5.0]

  • ZOOKEEPER-364 - command line interface for zookeeper.
  • ZOOKEEPER-679 - Offers a node design for interacting with the Java Zookeeper client.
  • ZOOKEEPER-781 - provide a generalized "connection strategy" for ZooKeeper clients
  • ZOOKEEPER-823 - update ZooKeeper java client to optionally use Netty for connections
  • ZOOKEEPER-911 - move operations from methods to individual classes
  • ZOOKEEPER-920 - L7 (application layer) ping support
  • ZOOKEEPER-1080 - Provide a Leader Election framework based on Zookeeper recipe
  • ZOOKEEPER-1098 - Upload native libraries as Maven artifacts
  • ZOOKEEPER-1161 - Provide an option for disabling auto-creation of the data directory
  • ZOOKEEPER-1297 - Add stat information to create() call
  • ZOOKEEPER-1355 - Add zk.updateServerList(newServerList)
  • ZOOKEEPER-1482 - Batch get to improve perfermance
  • ZOOKEEPER-1760 - Provide an interface for check version of a node
  • ZOOKEEPER-1829 - Umbrella jira for removing watches that are no longer of interest
  • ZOOKEEPER-1887 - C implementation of removeWatches
  • ZOOKEEPER-1962 - Add a CLI command to recursively list a znode and children

Task [3.5.0]

  • ZOOKEEPER-852 - Check path validation in C client
  • ZOOKEEPER-899 - Update Netty version in trunk to 3.2.2
  • ZOOKEEPER-1072 - Support for embedded ZooKeeper
  • ZOOKEEPER-1149 - users cannot migrate from 3.4->3.3->3.4 server code against a single datadir
  • ZOOKEEPER-1176 - Remove dead code and basic cleanup in DataTree
  • ZOOKEEPER-1182 - Make findbugs usable in Eclipse
  • ZOOKEEPER-1193 - Remove upgrade code
  • ZOOKEEPER-1263 - fix handling of min/max session timeout value initialization
  • ZOOKEEPER-1378 - Provide option to turn off sending of diffs
  • ZOOKEEPER-1430 - add maven deploy support to the build
  • ZOOKEEPER-1509 - Please update documentation to reflect updated FreeBSD support.
  • ZOOKEEPER-1604 - remove rpm/deb/... packaging
  • ZOOKEEPER-1918 - Add 64 bit Windows as a supported development platform
  • ZOOKEEPER-1938 - bump version in the C library as we prepare for 3.5.0 release

Test [3.5.0]

  • ZOOKEEPER-1328 - Misplaced assertion for the test case 'FLELostMessageTest' and not identifying misfunctions
  • ZOOKEEPER-1337 - multi's "Transaction" class is missing tests.
  • ZOOKEEPER-1718 - Support JLine 2

Wish [3.5.0]

  • ZOOKEEPER-964 - How to avoid dead nodes generated? These nodes can't be deleted because there parent don't have delete and setacl permission.
  • ZOOKEEPER-1326 - The CLI commands "delete" and "rmr" are confusing. Can we have "delete" + "deleteall" instead?
  • ZOOKEEPER-1727 - Doc request: The right way to expand a cluster

ZooKeeper 3.4.14

Task [3.4.14]

  • ZOOKEEPER-3062 - introduce fsync.warningthresholdms constant for FileTxnLog LOG.warn message
  • ZOOKEEPER-3120 - add NetBeans nbproject directory to .gitignore
  • ZOOKEEPER-925 - Consider maven site generation to replace our forrest site and documentation generation
  • ZOOKEEPER-3230 - Add Apache NetBeans Maven project files to .gitignore

Sub-task [3.4.14]

  • ZOOKEEPER-3155 - ZOOKEEPER-925 Remove Forrest XMLs and their build process from the project
  • ZOOKEEPER-3154 - ZOOKEEPER-925 Update release process to use the MarkDown solution
  • ZOOKEEPER-3153 - ZOOKEEPER-925 Create MarkDown files and build process for them
  • ZOOKEEPER-3022 - ZOOKEEPER-3021 Step 1.1 - Create docs and it maven structure
  • ZOOKEEPER-3033 - ZOOKEEPER-3021 Step 1.2 - Create zk-recipes maven structure
  • ZOOKEEPER-3030 - ZOOKEEPER-3021 Step 1.3 - Create zk-contrib maven structure
  • ZOOKEEPER-3031 - ZOOKEEPER-3021 Step 1.4 - Create zk-client maven structure
  • ZOOKEEPER-3080 - ZOOKEEPER-3021 Step 1.5 - Separate jute structure
  • ZOOKEEPER-3032 - ZOOKEEPER-3021 Step 1.6 - Create zk-server maven structure
  • ZOOKEEPER-3223 - ZOOKEEPER-3021 Configure Spotbugs
  • ZOOKEEPER-3256 - ZOOKEEPER-3021 Enable OWASP checks to Maven build
  • ZOOKEEPER-3029 - ZOOKEEPER-3021 Create pom files for jute, server and client
  • ZOOKEEPER-3225 - ZOOKEEPER-3021 Create code coverage analysis with maven build
  • ZOOKEEPER-3226 - ZOOKEEPER-3021 Activate C Client with a profile, disabled by default
  • ZOOKEEPER-3171 - ZOOKEEPER-3021 Create pom.xml for recipes and contrib
  • ZOOKEEPER-3122 - ZOOKEEPER-3021 Verify build after maven migration and the end artifact

Improvement [3.4.14]

  • ZOOKEEPER-3262 - Update dependencies flagged by OWASP report
  • ZOOKEEPER-3021 - Umbrella: Migrate project structure to Maven build
  • ZOOKEEPER-3094 - Make BufferSizeTest reliable
  • ZOOKEEPER-3077 - Build native C library outside of source directory

Bug Fixes [3.4.14]

  • ZOOKEEPER-3217 - owasp job flagging slf4j on trunk
  • ZOOKEEPER-3156 - ZOOKEEPER-2184 causes kerberos principal to not have resolved host name
  • ZOOKEEPER-3210 - Typo in zookeeperInternals doc
  • ZOOKEEPER-1392 - Should not allow to read ACL when not authorized to read node
  • ZOOKEEPER-3009 - Potential NPE in NIOServerCnxnFactory
  • ZOOKEEPER-3148 - Fix Kerberos tests on branch 3.4 and JDK11
  • ZOOKEEPER-3265 - Build failure on branch-3.4
  • ZOOKEEPER-3162 - Broken lock semantics in C client lock-recipe

ZooKeeper 3.4.13

Sub-task [3.4.13]

  • ZOOKEEPER-2980 - Backport ZOOKEEPER-2939 Deal with maxbuffer as it relates to proposals

Bug Fixes [3.4.13]

  • ZOOKEEPER-2184 - Zookeeper Client should re-resolve hosts when connection attempts fail
  • ZOOKEEPER-2920 - Upgrade OWASP Dependency Check to 3.2.1
  • ZOOKEEPER-2959 - ignore accepted epoch and LEADERINFO ack from observers when a newly elected leader computes new epoch
  • ZOOKEEPER-2988 - NPE triggered if server receives a vote for a server id not in their voting view
  • ZOOKEEPER-2993 - .ignore file prevents adding src/java/main/org/apache/jute/compiler/generated dir to git repo
  • ZOOKEEPER-3007 - Potential NPE in ReferenceCountedACLCache#deserialize
  • ZOOKEEPER-3027 - Accidently removed public API of FileTxnLog.setPreallocSize()
  • ZOOKEEPER-3039 - TxnLogToolkit uses Scanner badly
  • ZOOKEEPER-3041 - Typo in error message, affects log analysis

New Feature [3.4.13]

  • ZOOKEEPER-2994 - Tool required to recover log and snapshot entries with CRC errors

Improvement [3.4.13]

  • ZOOKEEPER-3012 - Fix unit test: testDataDirAndDataLogDir should not use hardcode test folders
  • ZOOKEEPER-3019 - Add a metric to track number of slow fsyncs
  • ZOOKEEPER-3043 - QuorumKerberosHostBasedAuthTest fails on Linux box: Unable to parse:includedir /etc/krb5.conf.d/

Test [3.4.13]

  • ZOOKEEPER-2415 - SessionTest is using Thread deprecated API.
  • ZOOKEEPER-2955 - Enable Clover code coverage report
  • ZOOKEEPER-2968 - Add C client code coverage tests

ZooKeeper 3.4.12

Bug Fixes [3.4.12]

  • ZOOKEEPER-2249 - CRC check failed when preAllocSize smaller than node data
  • ZOOKEEPER-2690 - Update documentation source for ZOOKEEPER-2574
  • ZOOKEEPER-2806 - Flaky test: org.apache.zookeeper.server.quorum.FLEBackwardElectionRoundTest.testBackwardElectionRound
  • ZOOKEEPER-2845 - Data inconsistency issue due to retain database in leader election
  • ZOOKEEPER-2893 - very poor choice of logging if client fails to connect to server
  • ZOOKEEPER-2923 - The comment of the variable matchSyncs in class CommitProcessor has a mistake.
  • ZOOKEEPER-2924 - Flaky Test: org.apache.zookeeper.test.LoadFromLogTest.testRestoreWithTransactionErrors
  • ZOOKEEPER-2931 - WriteLock recipe: incorrect znode ordering when the sessionId is part of the znode name
  • ZOOKEEPER-2936 - Duplicate Keys in log4j.properties config files
  • ZOOKEEPER-2944 - Specify correct overflow value
  • ZOOKEEPER-2948 - Failing c unit tests on apache jenkins
  • ZOOKEEPER-2951 - zkServer.cmd does not start when JAVA_HOME ends with a \
  • ZOOKEEPER-2953 - Flaky Test: testNoLogBeforeLeaderEstablishment
  • ZOOKEEPER-2960 - The dataDir and dataLogDir are used opposingly
  • ZOOKEEPER-2961 - Fix testElectionFraud Flakyness
  • ZOOKEEPER-2978 - fix potential null pointer exception when deleting node
  • ZOOKEEPER-2992 - The eclipse build target fails due to protocol redirection: http->https

Improvement [3.4.12]

  • ZOOKEEPER-2950 - Add keys for the Zxid from the stat command to check_zookeeper.py
  • ZOOKEEPER-2952 - Upgrade third party libraries to address vulnerabilities
  • ZOOKEEPER-2962 - The function queueEmpty() in FastLeaderElection.Messenger is not used, should be removed.
  • ZOOKEEPER-2967 - Add check to validate dataDir and dataLogDir parameters at startup

Wish [3.4.12]

  • ZOOKEEPER-2795 - Change log level for "ZKShutdownHandler is not registered" error message

ZooKeeper 3.4.11

Sub-task [3.4.11]

  • ZOOKEEPER-2707 - Fix "Unexpected bean exists!" issue in WatcherTests
  • ZOOKEEPER-2729 - Cleanup findbug warnings in branch-3.4: Correctness Warnings
  • ZOOKEEPER-2730 - Cleanup findbug warnings in branch-3.4: Disable Internationalization Warnings
  • ZOOKEEPER-2731 - Cleanup findbug warnings in branch-3.4: Malicious code vulnerability Warnings
  • ZOOKEEPER-2732 - Cleanup findbug warnings in branch-3.4: Performance Warnings
  • ZOOKEEPER-2733 - Cleanup findbug warnings in branch-3.4: Dodgy code Warnings
  • ZOOKEEPER-2749 - Cleanup findbug warnings in branch-3.4: Experimental Warnings
  • ZOOKEEPER-2754 - Set up Apache Jenkins job that runs the flaky test analyzer script.
  • ZOOKEEPER-2762 - Multithreaded correctness Warnings
  • ZOOKEEPER-2834 - ZOOKEEPER-2355 fix for branch-3.4

Bug Fixes [3.4.11]

  • ZOOKEEPER-1643 - Windows: fetch_and_add not 64bit-compatible, may not be correct
  • ZOOKEEPER-2349 - Update documentation for snapCount
  • ZOOKEEPER-2355 - Ephemeral node is never deleted if follower fails while reading the proposal packet
  • ZOOKEEPER-2614 - Port ZOOKEEPER-1576 to branch3.4
  • ZOOKEEPER-2691 - recreateSocketAddresses may recreate the unreachable IP address
  • ZOOKEEPER-2722 - Flaky Test: org.apache.zookeeper.test.ReadOnlyModeTest.testSessionEstablishment
  • ZOOKEEPER-2728 - Clean up findbug warnings in branch-3.4
  • ZOOKEEPER-2740 - Port ZOOKEEPER-2737 to branch-3.4
  • ZOOKEEPER-2743 - Netty connection leaks JMX connection bean upon connection close in certain race conditions.
  • ZOOKEEPER-2758 - Typo: transasction → transaction
  • ZOOKEEPER-2759 - Flaky test: org.apache.zookeeper.server.quorum.QuorumCnxManagerTest.testNoAuthLearnerConnectToAuthRequiredServerWithHigherSid
  • ZOOKEEPER-2774 - Ephemeral znode will not be removed when sesstion timeout, if the system time of ZooKeeper node changes unexpectedly.
  • ZOOKEEPER-2775 - ZK Client not able to connect with Xid out of order error
  • ZOOKEEPER-2777 - There is a typo in zk.py which prevents from using/compiling it.
  • ZOOKEEPER-2783 - follower disconnects and cannot reconnect
  • ZOOKEEPER-2785 - Server inappropriately throttles connections under load before SASL completes
  • ZOOKEEPER-2786 - Flaky test: org.apache.zookeeper.test.ClientTest.testNonExistingOpCode
  • ZOOKEEPER-2798 - Fix flaky test: org.apache.zookeeper.test.ReadOnlyModeTest.testConnectionEvents
  • ZOOKEEPER-2809 - Unnecessary stack-trace in server when the client disconnect unexpectedly
  • ZOOKEEPER-2811 - PurgeTxnLog#validateAndGetFile: return tag has no arguments.
  • ZOOKEEPER-2818 - Improve the ZooKeeper#setACL java doc
  • ZOOKEEPER-2841 - ZooKeeper public include files leak porting changes
  • ZOOKEEPER-2859 - CMake build doesn't support OS X
  • ZOOKEEPER-2861 - Main-Class JAR manifest attribute is incorrect
  • ZOOKEEPER-2874 - Windows Debug builds don't link with /MTd
  • ZOOKEEPER-2890 - Local automatic variable is left uninitialized and then freed.
  • ZOOKEEPER-2905 - Don't include config.h in zookeeper.h
  • ZOOKEEPER-2906 - The OWASP dependency check jar should not be included in the default classpath
  • ZOOKEEPER-2908 - quorum.auth.MiniKdcTest.testKerberosLogin failing with NPE on java 9
  • ZOOKEEPER-2909 - Create ant task to generate ivy dependency reports
  • ZOOKEEPER-2914 - compiler warning using java 9

Improvement [3.4.11]

  • ZOOKEEPER-1669 - Operations to server will be timed-out while thousands of sessions expired same time
  • ZOOKEEPER-1748 - TCP keepalive for leader election connections
  • ZOOKEEPER-2788 - The define of MAX_CONNECTION_ATTEMPTS in QuorumCnxManager.java seems useless, should it be removed?
  • ZOOKEEPER-2856 - ZooKeeperSaslClient#respondToServer should log exception message of SaslException
  • ZOOKEEPER-2864 - Add script to run a java api compatibility tool
  • ZOOKEEPER-2870 - Improve the efficiency of AtomicFileOutputStream
  • ZOOKEEPER-2880 - Rename README.txt to README.md
  • ZOOKEEPER-2887 - define dependency versions in build.xml to be easily overridden in build.properties

New Feature [3.4.11]

  • ZOOKEEPER-1703 - Please add instructions for running the tutorial
  • ZOOKEEPER-2875 - Add ant task for running OWASP dependency report

Test [3.4.11]

  • ZOOKEEPER-2686 - Flaky Test: org.apache.zookeeper.test.WatcherTest.

ZooKeeper 3.4.10

Sub-task [3.4.10]

  • ZOOKEEPER-2692 - Fix race condition in testWatchAutoResetWithPending

Bug Fixes [3.4.10]

  • ZOOKEEPER-2044 - CancelledKeyException in zookeeper branch-3.4
  • ZOOKEEPER-2383 - Startup race in ZooKeeperServer
  • ZOOKEEPER-2465 - Documentation copyright notice is out of date.
  • ZOOKEEPER-2467 - NullPointerException when redo Command is passed negative value
  • ZOOKEEPER-2470 - ServerConfig#parse(String[]) ignores tickTime
  • ZOOKEEPER-2542 - Update NOTICE file with Netty notice in 3.4
  • ZOOKEEPER-2552 - Revisit release note doc and remove the items which are not related to the released version
  • ZOOKEEPER-2558 - Potential memory leak in recordio.c
  • ZOOKEEPER-2573 - Modify Info.REVISION to adapt git repo
  • ZOOKEEPER-2574 - PurgeTxnLog can inadvertently delete required txn log files
  • ZOOKEEPER-2579 - ZooKeeper server should verify that dataDir and snapDir are writeable before starting
  • ZOOKEEPER-2606 - SaslServerCallbackHandler#handleAuthorizeCallback() should log the exception
  • ZOOKEEPER-2617 - correct a few spelling typos
  • ZOOKEEPER-2622 - ZooTrace.logQuorumPacket does nothing
  • ZOOKEEPER-2633 - Build failure in contrib/zkfuse with gcc 6.x
  • ZOOKEEPER-2646 - Java target in branch 3.4 doesn't match documentation
  • ZOOKEEPER-2651 - Missing src/pom.template in release
  • ZOOKEEPER-2652 - Fix HierarchicalQuorumTest.java
  • ZOOKEEPER-2671 - Fix compilation error in branch-3.4
  • ZOOKEEPER-2678 - Large databases take a long time to regain a quorum
  • ZOOKEEPER-2680 - Correct DataNode.getChildren() inconsistent behaviour.
  • ZOOKEEPER-2689 - Fix Kerberos Authentication related test cases
  • ZOOKEEPER-2693 - DOS attack on wchp/wchc four letter words (4lw)
  • ZOOKEEPER-2696 - Eclipse ant task no longer determines correct classpath for tests after ZOOKEEPER-2689
  • ZOOKEEPER-2706 - checkstyle broken on branch-3.4
  • ZOOKEEPER-2710 - Regenerate documentation for branch-3.4 release
  • ZOOKEEPER-2712 - MiniKdc test case intermittently failing due to principal not found in Kerberos database
  • ZOOKEEPER-2726 - Patch for ZOOKEEPER-2693 introduces potential race condition

Improvement [3.4.10]

  • ZOOKEEPER-2479 - Add 'electionTimeTaken' value in LeaderMXBean and FollowerMXBean
  • ZOOKEEPER-2507 - C unit test improvement: line break between 'ZooKeeper server started' and 'Running'
  • ZOOKEEPER-2557 - Update gitignore to account for other file extensions
  • ZOOKEEPER-2594 - Use TLS for downloading artifacts during build
  • ZOOKEEPER-2620 - Add comments to testReadOnlySnapshotDir and testReadOnlyTxnLogDir indicating that the tests will fail when run as root
  • ZOOKEEPER-2672 - Remove CHANGE.txt
  • ZOOKEEPER-2682 - Make it optional to fail build on test failure

New Feature [3.4.10]

  • ZOOKEEPER-1045 - Support Quorum Peer mutual authentication via SASL

Test [3.4.10]

  • ZOOKEEPER-2502 - Flaky Test: org.apache.zookeeper.server.quorum.CnxManagerTest.testCnxFromFutureVersion
  • ZOOKEEPER-2650 - Test Improvement by adding more QuorumPeer Auth related test cases
  • ZOOKEEPER-2656 - Fix ServerConfigTest#testValidArguments test case failures
  • ZOOKEEPER-2664 - ClientPortBindTest#testBindByAddress may fail due to "No such device" exception
  • ZOOKEEPER-2665 - Port QA github pull request build to branch 3.4 and 3.5
  • ZOOKEEPER-2716 - Flaky Test: org.apache.zookeeper.server.SessionTrackerTest.testAddSessionAfterSessionExpiry

ZooKeeper 3.4.9

Sub-task [3.4.9]

  • ZOOKEEPER-2396 - Login object in ZooKeeperSaslClient is static

Bug Fixes [3.4.9]

  • ZOOKEEPER-1676 - C client zookeeper_interest returning ZOK on Connection Loss
  • ZOOKEEPER-2133 - zkperl: Segmentation fault if getting a node with null value
  • ZOOKEEPER-2141 - ACL cache in DataTree never removes entries
  • ZOOKEEPER-2195 - fsync.warningthresholdms in zoo.cfg not working
  • ZOOKEEPER-2243 - Supported platforms is completely out of date
  • ZOOKEEPER-2247 - Zookeeper service becomes unavailable when leader fails to write transaction log
  • ZOOKEEPER-2283 - traceFile property is not used in the ZooKeeper, it should be removed from documentation
  • ZOOKEEPER-2294 - Ant target generate-clover-reports is broken
  • ZOOKEEPER-2375 - Prevent multiple initialization of login object in each ZooKeeperSaslClient instance
  • ZOOKEEPER-2379 - recent commit broke findbugs qabot check
  • ZOOKEEPER-2385 - Zookeeper trunk build is failing on windows
  • ZOOKEEPER-2405 - getTGT() in Login.java mishandles confidential information
  • ZOOKEEPER-2450 - Upgrade Netty version due to security vulnerability (CVE-2014-3488)
  • ZOOKEEPER-2452 - Back-port ZOOKEEPER-1460 to 3.4 for IPv6 literal address support.
  • ZOOKEEPER-2477 - documentation should refer to Java cli shell and not C cli shell
  • ZOOKEEPER-2498 - Potential resource leak in C client when processing unexpected / out of order response

Improvement [3.4.9]

  • ZOOKEEPER-2240 - Make the three-node minimum more explicit in documentation and on website
  • ZOOKEEPER-2373 - Licenses section missing from pom file
  • ZOOKEEPER-2378 - upgrade ivy to recent version
  • ZOOKEEPER-2514 - Simplify releasenotes creation for 3.4 branch - consistent with newer branches.

ZooKeeper 3.4.8

Bug Fixes [3.4.8]

  • ZOOKEEPER-1929 - std::length_error on update children
  • ZOOKEEPER-2211 - PurgeTxnLog does not correctly purge when snapshots and logs are at different locations
  • ZOOKEEPER-2229 - Several four-letter words are undocumented.
  • ZOOKEEPER-2281 - ZK Server startup fails if there are spaces in the JAVA_HOME path
  • ZOOKEEPER-2295 - TGT refresh time logic is wrong
  • ZOOKEEPER-2311 - assert in setup_random
  • ZOOKEEPER-2337 - Fake "invalid" hostnames used in tests are sometimes valid
  • ZOOKEEPER-2340 - JMX is disabled even if JMXDISABLE is false
  • ZOOKEEPER-2347 - Deadlock shutting down zookeeper
  • ZOOKEEPER-2360 - Update commons collections version used by tests/releaseaudit
  • ZOOKEEPER-2412 - leader zk out of memory, and leader db lastZxid is not update when process set data.

ZooKeeper 3.4.7

Sub-task [3.4.7]

  • ZOOKEEPER-1866 - ClientBase#createClient is failing frequently
  • ZOOKEEPER-1868 - Server not coming back up in QuorumZxidSyncTest
  • ZOOKEEPER-1872 - QuorumPeer is not shutdown in few cases
  • ZOOKEEPER-1904 - WatcherTest#testWatchAutoResetWithPending is failing
  • ZOOKEEPER-1905 - ZKClients are hitting KeeperException$ConnectionLossException due to wrong usage pattern
  • ZOOKEEPER-2047 - testTruncationNullLog fails on windows
  • ZOOKEEPER-2237 - Port async multi to 3.4 branch

Bug Fixes [3.4.7]

  • ZOOKEEPER-602 - log all exceptions not caught by ZK threads
  • ZOOKEEPER-706 - large numbers of watches can cause session re-establishment to fail
  • ZOOKEEPER-1002 - The Barrier sample code should create a EPHEMERAL znode instead of EPHEMERAL_SEQUENTIAL znode
  • ZOOKEEPER-1029 - C client bug in zookeeper_init (if bad hostname is given)
  • ZOOKEEPER-1062 - Net-ZooKeeper: Net::ZooKeeper consumes 100% cpu on wait
  • ZOOKEEPER-1077 - C client lib doesn't build on Solaris
  • ZOOKEEPER-1222 - getACL should only call DataTree.copyStat when passed in stat is not null
  • ZOOKEEPER-1575 - adding .gitattributes to prevent CRLF and LF mismatches for source and text files
  • ZOOKEEPER-1797 - PurgeTxnLog may delete data logs during roll
  • ZOOKEEPER-1803 - Add description for pzxid in programmer's guide.
  • ZOOKEEPER-1833 - fix windows build
  • ZOOKEEPER-1853 - zkCli.sh can't issue a CREATE command containing spaces in the data
  • ZOOKEEPER-1878 - Inconsistent behavior in autocreation of dataDir and dataLogDir
  • ZOOKEEPER-1888 - ZkCli.cmd commands fail with "'java' is not recognized as an internal or external command"
  • ZOOKEEPER-1895 - update all notice files, copyright, etc... with the new year - 2014
  • ZOOKEEPER-1897 - ZK Shell/Cli not processing commands
  • ZOOKEEPER-1900 - NullPointerException in truncate
  • ZOOKEEPER-1901 - [JDK8] Sort children for comparison in AsyncOps tests
  • ZOOKEEPER-1906 - zkpython: invalid data in GetData for empty node
  • ZOOKEEPER-1911 - REST contrib module does not include all required files when packaged
  • ZOOKEEPER-1913 - Invalid manifest files due to bogus revision property value
  • ZOOKEEPER-1917 - Apache Zookeeper logs cleartext admin passwords
  • ZOOKEEPER-1926 - Unit tests should only use build/test/data for data
  • ZOOKEEPER-1927 - zkServer.sh fails to read dataDir (and others) from zoo.cfg on Solaris 10 (grep issue, manifests as FAILED TO WRITE PID).
  • ZOOKEEPER-1939 - ReconfigRecoveryTest.testNextConfigUnreachable is failing
  • ZOOKEEPER-1943 - "src/contrib/zooinspector/NOTICE.txt" isn't complying to ".gitattributes" in branch-3.4
  • ZOOKEEPER-1945 - deb - zkCli.sh, zkServer.sh and zkEnv.sh regression caused by ZOOKEEPER-1663
  • ZOOKEEPER-1949 - recipes jar not included in the distribution package
  • ZOOKEEPER-2026 - Startup order in ServerCnxnFactory-ies is wrong
  • ZOOKEEPER-2033 - zookeeper follower fails to start after a restart immediately following a new epoch
  • ZOOKEEPER-2039 - Jute compareBytes incorrect comparison index
  • ZOOKEEPER-2049 - Yosemite build failure: htonll conflict
  • ZOOKEEPER-2052 - Unable to delete a node when the node has no children
  • ZOOKEEPER-2056 - Zookeeper 3.4.x and 3.5.0-alpha is not OSGi compliant
  • ZOOKEEPER-2060 - Trace bug in NettyServerCnxnFactory
  • ZOOKEEPER-2064 - Prevent resource leak in various classes
  • ZOOKEEPER-2073 - Memory leak on zookeeper_close
  • ZOOKEEPER-2096 - C client builds with incorrect error codes in VisualStudio 2010+
  • ZOOKEEPER-2114 - jute generated allocate_* functions are not externally visible
  • ZOOKEEPER-2124 - Allow Zookeeper version string to have underscore '_'
  • ZOOKEEPER-2142 - JMX ObjectName is incorrect for observers
  • ZOOKEEPER-2146 - BinaryInputArchive readString should check length before allocating memory
  • ZOOKEEPER-2174 - JUnit4ZKTestRunner logs test failure for all exceptions even if the test method is annotated with an expected exception.
  • ZOOKEEPER-2186 - QuorumCnxManager#receiveConnection may crash with random input
  • ZOOKEEPER-2201 - Network issues can cause cluster to hang due to near-deadlock
  • ZOOKEEPER-2213 - Empty path in Set crashes server and prevents restart
  • ZOOKEEPER-2224 - Four letter command hangs when network is slow
  • ZOOKEEPER-2227 - stmk four-letter word fails execution at server while reading trace mask argument.
  • ZOOKEEPER-2235 - License update
  • ZOOKEEPER-2239 - JMX State from LocalPeerBean incorrect
  • ZOOKEEPER-2245 - SimpleSysTest test cases fails
  • ZOOKEEPER-2256 - Zookeeper is not using specified JMX port in zkEnv.sh
  • ZOOKEEPER-2268 - Zookeeper doc creation fails on windows
  • ZOOKEEPER-2279 - QuorumPeer loadDataBase() error message is incorrect
  • ZOOKEEPER-2296 - compilation broken for 3.4

Improvement [3.4.7]

  • ZOOKEEPER-657 - Cut down the running time of ZKDatabase corruption.
  • ZOOKEEPER-1402 - Upload Zookeeper package to Maven Central
  • ZOOKEEPER-1506 - Re-try DNS hostname -> IP resolution if node connection fails
  • ZOOKEEPER-1574 - mismatched CR/LF endings in text files
  • ZOOKEEPER-1746 - AsyncCallback.*Callback don't have any Javadoc
  • ZOOKEEPER-1907 - Improve Thread handling
  • ZOOKEEPER-1948 - Enable JMX remote monitoring
  • ZOOKEEPER-2040 - Server to log underlying cause of SASL connection problems
  • ZOOKEEPER-2126 - Improve exit log messsage of EventThread and SendThread by adding SessionId
  • ZOOKEEPER-2179 - Typo in Watcher.java
  • ZOOKEEPER-2194 - Let DataNode.getChildren() return an unmodifiable view of its children set
  • ZOOKEEPER-2205 - Log type of unexpected quorum packet in learner handler loop
  • ZOOKEEPER-2315 - Change client connect zk service timeout log level from Info to Warn level

ZooKeeper 3.4.6

Sub-task [3.4.6]

  • ZOOKEEPER-1414 - QuorumPeerMainTest.testQuorum, testBadPackets are failing intermittently
  • ZOOKEEPER-1459 - Standalone ZooKeeperServer is not closing the transaction log files on shutdown
  • ZOOKEEPER-1558 - Leader should not snapshot uncommitted state
  • ZOOKEEPER-1808 - Add version to FLE notifications for 3.4 branch
  • ZOOKEEPER-1817 - Fix don't care for b3.4
  • ZOOKEEPER-1834 - Catch IOException in FileTxnLog
  • ZOOKEEPER-1837 - Fix JMXEnv checks (potential race conditions)
  • ZOOKEEPER-1838 - ZooKeeper shutdown hangs indefinitely at NioServerSocketChannelFactory.releaseExternalResources
  • ZOOKEEPER-1841 - problem in QuorumTest
  • ZOOKEEPER-1849 - Need to properly tear down tests in various cases
  • ZOOKEEPER-1852 - ServerCnxnFactory instance is not properly cleanedup
  • ZOOKEEPER-1854 - ClientBase ZooKeeper server clean-up
  • ZOOKEEPER-1857 - PrepRequestProcessotTest doesn't shutdown ZooKeeper server
  • ZOOKEEPER-1858 - JMX checks - potential race conditions while stopping and starting server
  • ZOOKEEPER-1867 - Bug in ZkDatabaseCorruptionTest
  • ZOOKEEPER-1873 - Unnecessarily InstanceNotFoundException is coming when unregister failed jmxbeans

Bug Fixes [3.4.6]

  • ZOOKEEPER-87 - Follower does not shut itself down if its too far behind the leader.
  • ZOOKEEPER-732 - Improper translation of error into Python exception
  • ZOOKEEPER-753 - update log4j dependency from 1.2.15 to 1.2.16 in branch 3.4
  • ZOOKEEPER-805 - four letter words fail with latest ubuntu nc.openbsd
  • ZOOKEEPER-877 - zkpython does not work with python3.1
  • ZOOKEEPER-978 - ZookeeperServer does not close zk database on shutdwon
  • ZOOKEEPER-1057 - zookeeper c-client, connection to offline server fails to successfully fallback to second zk host
  • ZOOKEEPER-1179 - NettyServerCnxn does not properly close socket on 4 letter word requests
  • ZOOKEEPER-1238 - when the linger time was changed for NIO the patch missed Netty
  • ZOOKEEPER-1334 - Zookeeper 3.4.x is not OSGi compliant - MANIFEST.MF is flawed
  • ZOOKEEPER-1379 - 'printwatches, redo, history and connect '. client commands always print usage. This is not necessary
  • ZOOKEEPER-1382 - Zookeeper server holds onto dead/expired session ids in the watch data structures
  • ZOOKEEPER-1387 - Wrong epoch file created
  • ZOOKEEPER-1388 - Client side 'PathValidation' is missing for the multi-transaction api.
  • ZOOKEEPER-1448 - Node+Quota creation in transaction log can crash leader startup
  • ZOOKEEPER-1462 - Read-only server does not initialize database properly
  • ZOOKEEPER-1474 - Cannot build Zookeeper with IBM Java: use of Sun MXBean classes
  • ZOOKEEPER-1478 - Small bug in QuorumTest.testFollowersStartAfterLeader( )
  • ZOOKEEPER-1495 - ZK client hangs when using a function not available on the server.
  • ZOOKEEPER-1513 - "Unreasonable length" exception while starting a server.
  • ZOOKEEPER-1535 - ZK Shell/Cli re-executes last command on exit
  • ZOOKEEPER-1548 - Cluster fails election loop in new and interesting way
  • ZOOKEEPER-1551 - Observers ignore txns that come after snapshot and UPTODATE
  • ZOOKEEPER-1553 - Findbugs configuration is missing some dependencies
  • ZOOKEEPER-1554 - Can't use zookeeper client without SASL
  • ZOOKEEPER-1557 - jenkins jdk7 test failure in testBadSaslAuthNotifiesWatch
  • ZOOKEEPER-1562 - Memory leaks in zoo_multi API
  • ZOOKEEPER-1573 - Unable to load database due to missing parent node
  • ZOOKEEPER-1578 - org.apache.zookeeper.server.quorum.Zab1_0Test failed due to hard code with 33556 port
  • ZOOKEEPER-1581 - change copyright in notice to 2012
  • ZOOKEEPER-1596 - Zab1_0Test should ensure that the file is closed
  • ZOOKEEPER-1597 - Windows build failing
  • ZOOKEEPER-1599 - 3.3 server cannot join 3.4 quorum
  • ZOOKEEPER-1603 - StaticHostProviderTest testUpdateClientMigrateOrNot hangs
  • ZOOKEEPER-1606 - intermittent failures in ZkDatabaseCorruptionTest on jenkins
  • ZOOKEEPER-1610 - Some classes are using == or != to compare Long/String objects instead of .equals()
  • ZOOKEEPER-1613 - The documentation still points to 2008 in the copyright notice
  • ZOOKEEPER-1622 - session ids will be negative in the year 2022
  • ZOOKEEPER-1624 - PrepRequestProcessor abort multi-operation incorrectly
  • ZOOKEEPER-1629 - testTransactionLogCorruption occasionally fails
  • ZOOKEEPER-1632 - fix memory leaks in cli_st
  • ZOOKEEPER-1633 - Introduce a protocol version to connection initiation message
  • ZOOKEEPER-1642 - Leader loading database twice
  • ZOOKEEPER-1645 - ZooKeeper OSGi package imports not complete
  • ZOOKEEPER-1646 - mt c client tests fail on Ubuntu Raring
  • ZOOKEEPER-1647 - OSGi package import/export changes not applied to bin-jar
  • ZOOKEEPER-1648 - Fix WatcherTest in JDK7
  • ZOOKEEPER-1653 - zookeeper fails to start because of inconsistent epoch
  • ZOOKEEPER-1657 - Increased CPU usage by unnecessary SASL checks
  • ZOOKEEPER-1663 - scripts don't work when path contains spaces
  • ZOOKEEPER-1667 - Watch event isn't handled correctly when a client reestablish to a server
  • ZOOKEEPER-1696 - Fail to run zookeeper client on Weblogic application server
  • ZOOKEEPER-1697 - large snapshots can cause continuous quorum failure
  • ZOOKEEPER-1702 - ZooKeeper client may write operation packets before receiving successful response to connection request, can cause TCP RST
  • ZOOKEEPER-1706 - Typo in Double Barriers example
  • ZOOKEEPER-1711 - ZooKeeper server binds to all ip addresses for leader election and broadcast
  • ZOOKEEPER-1713 - wrong time calculation in zkfuse.cc
  • ZOOKEEPER-1714 - perl client segfaults if ZOO_READ_ACL_UNSAFE constant is used
  • ZOOKEEPER-1719 - zkCli.sh, zkServer.sh and zkEnv.sh regression caused by ZOOKEEPER-1663
  • ZOOKEEPER-1731 - Unsynchronized access to ServerCnxnFactory.connectionBeans results in deadlock
  • ZOOKEEPER-1732 - ZooKeeper server unable to join established ensemble
  • ZOOKEEPER-1733 - FLETest#testLE is flaky on windows boxes
  • ZOOKEEPER-1744 - clientPortAddress breaks "zkServer.sh status"
  • ZOOKEEPER-1745 - Wrong Import-Package in the META-INF/MANIFEST.MF of zookeeper 3.4.5 bundle
  • ZOOKEEPER-1750 - Race condition producing NPE in NIOServerCnxn.toString
  • ZOOKEEPER-1751 - ClientCnxn#run could miss the second ping or connection get dropped before a ping
  • ZOOKEEPER-1753 - ClientCnxn is not properly releasing the resources, which are used to ping RwServer
  • ZOOKEEPER-1754 - Read-only server allows to create znode
  • ZOOKEEPER-1755 - Concurrent operations of four letter 'dump' ephemeral command and killSession causing NPE
  • ZOOKEEPER-1756 - zookeeper_interest() in C client can return a timeval of 0
  • ZOOKEEPER-1764 - ZooKeeper attempts at SASL eventhough it shouldn't
  • ZOOKEEPER-1765 - Update code conventions link on "How to contribute" page
  • ZOOKEEPER-1770 - NullPointerException in SnapshotFormatter
  • ZOOKEEPER-1774 - QuorumPeerMainTest fails consistently with "complains about host" assertion failure
  • ZOOKEEPER-1775 - Ephemeral nodes not present in one of the members of the ensemble
  • ZOOKEEPER-1776 - Ephemeral nodes not present in one of the members of the ensemble
  • ZOOKEEPER-1781 - ZooKeeper Server fails if snapCount is set to 1
  • ZOOKEEPER-1786 - ZooKeeper data model documentation is incorrect
  • ZOOKEEPER-1790 - Deal with special ObserverId in QuorumCnxManager.receiveConnection
  • ZOOKEEPER-1798 - Fix race condition in testNormalObserverRun
  • ZOOKEEPER-1799 - SaslAuthFailDesignatedClientTest.testAuth fails frequently on SUSE
  • ZOOKEEPER-1805 - "Don't care" value in ZooKeeper election breaks rolling upgrades
  • ZOOKEEPER-1811 - The ZooKeeperSaslClient service name principal is hardcoded to "zookeeper"
  • ZOOKEEPER-1812 - ZooInspector reconnection always fails if first connection fails
  • ZOOKEEPER-1821 - very ugly warning when compiling load_gen.c
  • ZOOKEEPER-1839 - Deadlock in NettyServerCnxn
  • ZOOKEEPER-1844 - TruncateTest fails on windows
  • ZOOKEEPER-1845 - FLETest.testLE fails on windows
  • ZOOKEEPER-1850 - cppunit test testNonexistingHost in TestZookeeperInit is failing on Unbuntu
  • ZOOKEEPER-2015 - I found memory leak in zk client for c++

Improvement [3.4.6]

  • ZOOKEEPER-1019 - zkfuse doesn't list dependency on boost in README
  • ZOOKEEPER-1096 - Leader communication should listen on specified IP, not wildcard address
  • ZOOKEEPER-1324 - Remove Duplicate NEWLEADER packets from the Leader to the Follower.
  • ZOOKEEPER-1552 - Enable sync request processor in Observer
  • ZOOKEEPER-1564 - Allow JUnit test build with IBM Java
  • ZOOKEEPER-1583 - Document maxClientCnxns in conf/zoo_sample.cfg
  • ZOOKEEPER-1584 - Adding mvn-install target for deploying the zookeeper artifacts to .m2 repository.
  • ZOOKEEPER-1598 - Ability to support more digits in the version string
  • ZOOKEEPER-1615 - minor typos in ZooKeeper Programmer's Guide web page
  • ZOOKEEPER-1627 - Add org.apache.zookeeper.common to exported packages in OSGi MANIFEST headers
  • ZOOKEEPER-1666 - Avoid Reverse DNS lookup if the hostname in connection string is literal IP address.
  • ZOOKEEPER-1715 - Upgrade netty version
  • ZOOKEEPER-1758 - Add documentation for zookeeper.observer.syncEnabled flag
  • ZOOKEEPER-1771 - ZooInspector authentication

Task [3.4.6]

  • ZOOKEEPER-1430 - add maven deploy support to the build

Test [3.4.6]

  • ZOOKEEPER-1980 - how to draw the figure"ZooKeeper Throughput as the Read-Write Ratio Varies" ?

ZooKeeper 3.4.5

Bug Fixes [3.4.5]

  • ZOOKEEPER-1376 - zkServer.sh does not correctly check for $SERVER_JVMFLAGS
  • ZOOKEEPER-1550 - ZooKeeperSaslClient does not finish anonymous login on OpenJDK
  • ZOOKEEPER-1560 - Zookeeper client hangs on creation of large nodes
  • ZOOKEEPER-1686 - Publish ZK 3.4.5 test jar

Improvement [3.4.5]

  • ZOOKEEPER-1640 - dynamically load command objects in zk

ZooKeeper 3.4.4

Bug Fixes [3.4.4]

  • ZOOKEEPER-1048 - addauth command does not work in cli_mt/cli_st
  • ZOOKEEPER-1163 - Memory leak in zk_hashtable.c:do_insert_watcher_object()
  • ZOOKEEPER-1210 - Can't build ZooKeeper RPM with RPM >= 4.6.0 (i.e. on RHEL 6 and Fedora >= 10)
  • ZOOKEEPER-1236 - Security uses proprietary Sun APIs
  • ZOOKEEPER-1277 - servers stop serving when lower 32bits of zxid roll over
  • ZOOKEEPER-1303 - Observer LearnerHandlers are not removed from Leader collection.
  • ZOOKEEPER-1307 - zkCli.sh is exiting when an Invalid ACL exception is thrown from setACL command through client
  • ZOOKEEPER-1318 - In Python binding, get_children (and get and exists, and probably others) with expired session doesn't raise exception properly
  • ZOOKEEPER-1339 - C clien doesn't build with --enable-debug
  • ZOOKEEPER-1344 - ZooKeeper client multi-update command is not considering the Chroot request
  • ZOOKEEPER-1354 - AuthTest.testBadAuthThenSendOtherCommands fails intermittently
  • ZOOKEEPER-1361 - Leader.lead iterates over 'learners' set without proper synchronisation
  • ZOOKEEPER-1380 - zkperl: _zk_release_watch doesn't remove items properly from the watch list
  • ZOOKEEPER-1384 - test-cppunit overrides LD_LIBRARY_PATH and fails if gcc is in non-standard location
  • ZOOKEEPER-1386 - avoid flaky URL redirection in "ant javadoc" : replace "http://java.sun.com/javase/6/docs/api/" with "http://download.oracle.com/javase/6/docs/api/"
  • ZOOKEEPER-1395 - node-watcher double-free redux
  • ZOOKEEPER-1403 - zkCli.sh script quoting issue
  • ZOOKEEPER-1406 - dpkg init scripts don't restart - missing check_priv_sep_dir
  • ZOOKEEPER-1412 - java client watches inconsistently triggered on reconnect
  • ZOOKEEPER-1419 - Leader election never settles for a 5-node cluster
  • ZOOKEEPER-1427 - Writing to local files is done non-atomically
  • ZOOKEEPER-1431 - zkpython: async calls leak memory
  • ZOOKEEPER-1437 - Client uses session before SASL authentication complete
  • ZOOKEEPER-1463 - external inline function is not compatible with C99
  • ZOOKEEPER-1465 - Cluster availability following new leader election takes a long time with large datasets - is correlated to dataset size
  • ZOOKEEPER-1466 - QuorumCnxManager.shutdown missing synchronization
  • ZOOKEEPER-1471 - Jute generates invalid C++ code
  • ZOOKEEPER-1483 - Fix leader election recipe documentation
  • ZOOKEEPER-1489 - Data loss after truncate on transaction log
  • ZOOKEEPER-1490 - If the configured log directory does not exist zookeeper will not start. Better to create the directory and start
  • ZOOKEEPER-1493 - C Client: zookeeper_process doesn't invoke completion callback if zookeeper_close has been called
  • ZOOKEEPER-1494 - C client: socket leak after receive timeout in zookeeper_interest()
  • ZOOKEEPER-1496 - Ephemeral node not getting cleared even after client has exited
  • ZOOKEEPER-1501 - Nagios plugin always returns OK when it cannot connect to zookeeper
  • ZOOKEEPER-1514 - FastLeaderElection - leader ignores the round information when joining a quorum
  • ZOOKEEPER-1521 - LearnerHandler initLimit/syncLimit problems specifying follower socket timeout limits
  • ZOOKEEPER-1522 - intermittent failures in Zab test due to NPE in recursiveDelete test function
  • ZOOKEEPER-1536 - c client : memory leak in winport.c
  • ZOOKEEPER-1686 - Publish ZK 3.4.5 test jar

Improvement [3.4.4]

  • ZOOKEEPER-1321 - Add number of client connections metric in JMX and srvr
  • ZOOKEEPER-1377 - add support for dumping a snapshot file content (similar to LogFormatter)
  • ZOOKEEPER-1389 - it would be nice if start-foreground used exec $JAVA in order to get rid of the intermediate shell process
  • ZOOKEEPER-1390 - some expensive debug code not protected by a check for debug
  • ZOOKEEPER-1433 - improve ZxidRolloverTest (test seems flakey)
  • ZOOKEEPER-1454 - Document how to run autoreconf if cppunit is installed in a non-standard directory
  • ZOOKEEPER-1481 - allow the C cli to run exists with a watcher
  • ZOOKEEPER-1497 - Allow server-side SASL login with JAAS configuration to be programmatically set (rather than only by reading JAAS configuration file)
  • ZOOKEEPER-1503 - remove redundant JAAS configuration code in SaslAuthTest and SaslAuthFailTest
  • ZOOKEEPER-1510 - Should not log SASL errors for non-secure usage
  • ZOOKEEPER-1565 - Allow ClientTest.java build with IBM Java
  • ZOOKEEPER-1570 - Allow QuorumBase.java build with IBM Java
  • ZOOKEEPER-1571 - Allow QuorumUtil.java build with IBM Java

Task [3.4.4]

  • ZOOKEEPER-1450 - Backport ZOOKEEPER-1294 fix to 3.4 and 3.3

ZooKeeper 3.4.3

Bug Fixes [3.4.3]

  • ZOOKEEPER-973 - bind() could fail on Leader because it does not setReuseAddress on its ServerSocket
  • ZOOKEEPER-1089 - zkServer.sh status does not work due to invalid option of nc
  • ZOOKEEPER-1327 - there are still remnants of hadoop urls
  • ZOOKEEPER-1336 - javadoc for multi is confusing, references functionality that doesn't seem to exist
  • ZOOKEEPER-1338 - class cast exceptions may be thrown by multi ErrorResult class (invalid equals)
  • ZOOKEEPER-1340 - multi problem - typical user operations are generating ERROR level messages in the server
  • ZOOKEEPER-1343 - getEpochToPropose should check if lastAcceptedEpoch is greater or equal than epoch
  • ZOOKEEPER-1348 - Zookeeper 3.4.2 C client incorrectly reports string version of 3.4.1
  • ZOOKEEPER-1351 - invalid test verification in MultiTransactionTest
  • ZOOKEEPER-1352 - server.InvalidSnapshotTest is using connection timeouts that are too short
  • ZOOKEEPER-1353 - C client test suite fails consistently
  • ZOOKEEPER-1367 - Data inconsistencies and unexpired ephemeral nodes after cluster restart
  • ZOOKEEPER-1370 - Add logging changes in Release Notes needed for clients because of ZOOKEEPER-850.
  • ZOOKEEPER-1373 - Hardcoded SASL login context name clashes with Hadoop security configuration override
  • ZOOKEEPER-1374 - C client multi-threaded test suite fails to compile on ARM architectures.

Improvement [3.4.3]

  • ZOOKEEPER-1322 - Cleanup/fix logging in Quorum code.
  • ZOOKEEPER-1345 - Add a .gitignore file with general exclusions and Eclipse project files excluded

Test [3.4.3]

  • ZOOKEEPER-1337 - multi's "Transaction" class is missing tests.

ZooKeeper 3.4.2

Bug Fixes [3.4.2]

  • ZOOKEEPER-1333 NPE in FileTxnSnapLog when restarting a cluster.
  • ZOOKEEPER-1323 c client doesn't compile on freebsd.

ZooKeeper 3.4.1

Bug Fixes [3.4.1]

  • ZOOKEEPER-1311 ZooKeeper test jar is broken.
  • ZOOKEEPER-1305 zookeeper.c:prepend_string func can dereference null ptr.
  • ZOOKEEPER-1316 zookeeper_init leaks memory if chroot is just '/'.
  • ZOOKEEPER-1315 zookeeper_init always reports sessionPasswd=hidden.
  • ZOOKEEPER-1317 Possible segfault in zookeeper_init.
  • ZOOKEEPER-1319 Missing data after restarting+expanding a cluster.
  • ZOOKEEPER-1269 Multi deserialization issues.

ZooKeeper 3.4.0

Sub-Tasks [3.4.0]

  • ZOOKEEPER-1239 add logging/stats to identify fsync stalls.
  • ZOOKEEPER-1208 Ephemeral node not removed after the client session is long gone.
  • ZOOKEEPER-784 server-side functionality for read-only mode. This is not thoroughly tested. Avoid using it in production. This is also at risk of being removed from the feature set later.
  • ZOOKEEPER-798 Fixup loggraph for FLE changes
  • ZOOKEEPER-839 deleteRecursive does not belong to the other methods
  • ZOOKEEPER-908 Remove code duplication and inconsistent naming in ClientCnxn.Packet creation
  • ZOOKEEPER-909 Extract NIO specific code from ClientCnxn
  • ZOOKEEPER-966 Client side for multi
  • ZOOKEEPER-967 Server side decoding and function dispatch
  • ZOOKEEPER-968 Database multi-update
  • ZOOKEEPER-1042 Generate zookeeper test jar for maven installation
  • ZOOKEEPER-1081 modify leader/follower code to correctly deal with new leader
  • ZOOKEEPER-1082 modify leader election to correctly take into account current epoch
  • ZOOKEEPER-1150 fix for this patch to compile on windows...
  • ZOOKEEPER-1160 test timeouts are too small
  • ZOOKEEPER-1201 Clean SaslServerCallbackHandler.java

Bug Fixes [3.4.0]

  • ZOOKEEPER-1268 problems with read only mode, intermittent test failures and ERRORs in the log.
  • ZOOKEEPER-1271 testEarlyLeaderAbandonment failing on solaris - clients not retrying connection.
  • ZOOKEEPER-1192 Leader.waitForEpochAck() checks waitingForNewEpoch instead of checking electionFinished.
  • ZOOKEEPER-1246 Dead code in PrepRequestProcessor catch Exception block.
  • ZOOKEEPER-1264 FollowerResyncConcurrencyTest failing intermittently.
  • ZOOKEEPER-1270 testEarlyLeaderAbandonment failing intermittently, quorum formed, no serving.
  • ZOOKEEPER-1291 AcceptedEpoch not updated at leader before it proposes the epoch to followers.
  • ZOOKEEPER-1282 Learner.java not following Zab 1.0 protocol - setCurrentEpoch should be done upon receipt of NEWLEADER (before acking it) and not upon receipt of UPTODATE.
  • ZOOKEEPER-335 zookeeper servers should commit the new leader txn to their logs.
  • ZOOKEEPER-418 Need nifty zookeeper browser
  • ZOOKEEPER-603 zkpython should do a better job of freeing memory under error conditions
  • ZOOKEEPER-662 Too many CLOSE_WAIT socket state on a server
  • ZOOKEEPER-690 AsyncTestHammer test fails on hudson.
  • ZOOKEEPER-719 Add throttling to BookKeeper client
  • ZOOKEEPER-720 Use zookeeper-{version}-sources.jar instead of zookeeper-{version}-src.jar to publish sources in the Maven repository
  • ZOOKEEPER-722 zkServer.sh uses sh's builtin echo on BSD, behaves incorrectly.
  • ZOOKEEPER-731 Zookeeper#delete , #create - async versions miss a verb in the javadoc
  • ZOOKEEPER-734 QuorumPeerTestBase.java and ZooKeeperServerMainTest.java do not handle windows path correctly
  • ZOOKEEPER-735 cppunit test testipv6 assumes that the machine is ipv6 enabled.
  • ZOOKEEPER-737 some 4 letter words may fail with netcat (nc)
  • ZOOKEEPER-738 zookeeper.jute.h fails to compile with -pedantic
  • ZOOKEEPER-741 root level create on REST proxy fails
  • ZOOKEEPER-742 Deallocatng None on writes
  • ZOOKEEPER-746 learner outputs session id to log in dec (should be hex)
  • ZOOKEEPER-749 OSGi metadata not included in binary only jar
  • ZOOKEEPER-750 move maven artifacts into "dist-maven" subdir of the release (package target)
  • ZOOKEEPER-758 zkpython segfaults on invalid acl with missing key
  • ZOOKEEPER-763 Deadlock on close w/ zkpython / c client
  • ZOOKEEPER-764 Observer elected leader due to inconsistent voting view
  • ZOOKEEPER-766 forrest recipes docs don't mention the lock/queue recipe implementations available in the release
  • ZOOKEEPER-769 Leader can treat observers as quorum members
  • ZOOKEEPER-772 zkpython segfaults when watcher from async get children is invoked.
  • ZOOKEEPER-774 Recipes tests are slightly outdated: they do not compile against JUnit 4.8
  • ZOOKEEPER-777 setting acl on a non existant node should return no node error
  • ZOOKEEPER-782 Incorrect C API documentation for Watches
  • ZOOKEEPER-783 committedLog in ZKDatabase is not properly synchronized
  • ZOOKEEPER-787 groupId in deployed pom is wrong
  • ZOOKEEPER-790 Last processed zxid set prematurely while establishing leadership
  • ZOOKEEPER-792 zkpython memory leak
  • ZOOKEEPER-794 Callbacks are not invoked when the client is closed
  • ZOOKEEPER-795 eventThread isn't shutdown after a connection "session expired" event coming
  • ZOOKEEPER-796 zkServer.sh should support an external PIDFILE variable
  • ZOOKEEPER-800 zoo_add_auth returns ZOK if zookeeper handle is in ZOO_CLOSED_STATE
  • ZOOKEEPER-804 c unit tests failing due to "assertion cptr failed"
  • ZOOKEEPER-813 maven install is broken due to incorrect organisation
  • ZOOKEEPER-814 monitoring scripts are missing apache license headers
  • ZOOKEEPER-820 update c unit tests to ensure "zombie" java server processes don't cause failure
  • ZOOKEEPER-822 Leader election taking a long time to complete
  • ZOOKEEPER-831 BookKeeper: Throttling improved for reads
  • ZOOKEEPER-844 handle auth failure in java client
  • ZOOKEEPER-846 zookeeper client doesn't shut down cleanly on the close call
  • ZOOKEEPER-854 BookKeeper does not compile due to changes in the ZooKeeper code
  • ZOOKEEPER-855 clientPortBindAddress should be clientPortAddress
  • ZOOKEEPER-861 Missing the test SSL certificate used for running junit tests.
  • ZOOKEEPER-867 ClientTest is failing on hudson - fd cleanup
  • ZOOKEEPER-870 Zookeeper trunk build broken.
  • ZOOKEEPER-874 FileTxnSnapLog.restore does not call listener
  • ZOOKEEPER-880 QuorumCnxManager$SendWorker grows without bounds
  • ZOOKEEPER-881 ZooKeeperServer.loadData loads database twice
  • ZOOKEEPER-882 Startup loads last transaction from snapshot
  • ZOOKEEPER-884 Remove LedgerSequence references from BookKeeper documentation and comments in tests
  • ZOOKEEPER-888 c-client / zkpython: Double free corruption on node watcher
  • ZOOKEEPER-893 ZooKeeper high cpu usage when invalid requests
  • ZOOKEEPER-897 C Client seg faults during close
  • ZOOKEEPER-898 C Client might not cleanup correctly during close
  • ZOOKEEPER-902 Fix findbug issue in trunk "Malicious code vulnerability"
  • ZOOKEEPER-904 super digest is not actually acting as a full superuser
  • ZOOKEEPER-913 Version parser fails to parse "3.3.2-dev" from build.xml.
  • ZOOKEEPER-917 Leader election selected incorrect leader
  • ZOOKEEPER-919 Ephemeral nodes remains in one of ensemble after deliberate SIGKILL
  • ZOOKEEPER-921 zkPython incorrectly checks for existence of required ACL elements
  • ZOOKEEPER-937 test -e not available on solaris /bin/sh
  • ZOOKEEPER-957 zkCleanup.sh doesn't do anything
  • ZOOKEEPER-958 Flag to turn off autoconsume in hedwig c++ client
  • ZOOKEEPER-961 Watch recovery after disconnection when connection string contains a prefix
  • ZOOKEEPER-962 leader/follower coherence issue when follower is receiving a DIFF
  • ZOOKEEPER-963 Make Forrest work with JDK6
  • ZOOKEEPER-965 Need a multi-update command to allow multiple znodes to be updated safely
  • ZOOKEEPER-975 new peer goes in LEADING state even if ensemble is online
  • ZOOKEEPER-976 ZooKeeper startup script doesn't use JAVA_HOME
  • ZOOKEEPER-981 Hang in zookeeper_close() in the multi-threaded C client
  • ZOOKEEPER-983 running zkServer.sh start remotely using ssh hangs
  • ZOOKEEPER-985 Test BookieRecoveryTest fails on trunk.
  • ZOOKEEPER-1006 QuorumPeer "Address already in use" -- regression in 3.3.3
  • ZOOKEEPER-1007 iarchive leak in C client
  • ZOOKEEPER-1013 zkServer.sh usage message should mention all startup options
  • ZOOKEEPER-1027 chroot not transparent in zoo_create()
  • ZOOKEEPER-1028 In python bindings, zookeeper.set2() should return a stat dict but instead returns None
  • ZOOKEEPER-1033 c client should install includes into INCDIR/zookeeper, not INCDIR/c-client-src
  • ZOOKEEPER-1034 perl bindings should automatically find the zookeeper c-client headers
  • ZOOKEEPER-1046 Creating a new sequential node results in a ZNODEEXISTS error
  • ZOOKEEPER-1049 Session expire/close flooding renders heartbeats to delay significantly
  • ZOOKEEPER-1051 SIGPIPE in Zookeeper 0.3.* when send'ing after cluster disconnection
  • ZOOKEEPER-1052 Findbugs warning in QuorumPeer.ResponderThread.run()
  • ZOOKEEPER-1055 check for duplicate ACLs in addACL() and create()
  • ZOOKEEPER-1058 fix typo in opToString for getData
  • ZOOKEEPER-1059 stat command isses on non-existing node causes NPE
  • ZOOKEEPER-1060 QuorumPeer takes a long time to shutdown
  • ZOOKEEPER-1061 Zookeeper stop fails if start called twice
  • ZOOKEEPER-1063 Dubious synchronization in Zookeeper and ClientCnxnSocketNIO classes
  • ZOOKEEPER-1068 Documentation and default config suggest incorrect location for Zookeeper state
  • ZOOKEEPER-1069 Calling shutdown() on a QuorumPeer too quickly can lead to a corrupt log
  • ZOOKEEPER-1073 address a documentation issue in ZOOKEEPER-1030
  • ZOOKEEPER-1074 zkServer.sh is missing nohup/sleep, which are necessary for remote invocation
  • ZOOKEEPER-1076 some quorum tests are unnecessarily extending QuorumBase
  • ZOOKEEPER-1083 Javadoc for WatchedEvent not being generated
  • ZOOKEEPER-1086 zookeeper test jar has non mavenised dependency.
  • ZOOKEEPER-1087 ForceSync VM arguement not working when set to "no"
  • ZOOKEEPER-1088 delQuota does not remove the quota node and subesquent setquota calls for that path will fail
  • ZOOKEEPER-1090 Race condition while taking snapshot can lead to not restoring data tree correctly
  • ZOOKEEPER-1091 when the chrootPath of ClientCnxn is not null and the Watches of zooKeeper is not null and the method primeConnection(SelectionKey k) of ClientCnxn Occurred again for some reason ,then the wrong watcher clientPath is sended to server
  • ZOOKEEPER-1097 Quota is not correctly rehydrated on snapshot reload
  • ZOOKEEPER-1101 Upload zookeeper-test maven artifacts to maven repository.
  • ZOOKEEPER-1108 Various bugs in zoo_add_auth in C
  • ZOOKEEPER-1109 Zookeeper service is down when SyncRequestProcessor meets any exception.
  • ZOOKEEPER-1111 JMXEnv uses System.err instead of logging
  • ZOOKEEPER-1119 zkServer stop command incorrectly reading comment lines in zoo.cfg
  • ZOOKEEPER-1124 Multiop submitted to non-leader always fails due to timeout
  • ZOOKEEPER-1136 NEW_LEADER should be queued not sent to match the Zab 1.0 protocol on the twiki
  • ZOOKEEPER-1138 release audit failing for a number of new files
  • ZOOKEEPER-1139 jenkins is reporting two warnings, fix these
  • ZOOKEEPER-1140 server shutdown is not stopping threads
  • ZOOKEEPER-1141 zkpython fails tests under python 2.4
  • ZOOKEEPER-1142 incorrect stat output
  • ZOOKEEPER-1144 ZooKeeperServer not starting on leader due to a race condition
  • ZOOKEEPER-1145 ObserverTest.testObserver fails at particular point after several runs of ant junt.run -Dtestcase
  • ZOOKEEPER-1146 significant regression in client (c/python) performance
  • ZOOKEEPER-1152 Exceptions thrown from handleAuthentication can cause buffer corruption issues in NIOServer
  • ZOOKEEPER-1154 Data inconsistency when the node(s) with the highest zxid is not present at the time of leader election
  • ZOOKEEPER-1156 Log truncation truncating log too much - can cause data loss
  • ZOOKEEPER-1165 better eclipse support in tests
  • ZOOKEEPER-1168 ZooKeeper fails to run with IKVM
  • ZOOKEEPER-1171 fix build for java 7
  • ZOOKEEPER-1174 FD leak when network unreachable
  • ZOOKEEPER-1181 Fix problems with Kerberos TGT renewal
  • ZOOKEEPER-1185 Send AuthFailed event to client if SASL authentication fails
  • ZOOKEEPER-1189 For an invalid snapshot file(less than 10bytes size) RandomAccessFile stream is leaking.
  • ZOOKEEPER-1190 ant package is not including many of the bin scripts in the package (zkServer.sh for example)
  • ZOOKEEPER-1195 SASL authorizedID being incorrectly set: should use getHostName() rather than getServiceName()
  • ZOOKEEPER-1203 Zookeeper systest is missing Junit Classes
  • ZOOKEEPER-1206 Sequential node creation does not use always use digits in node name given certain Locales.
  • ZOOKEEPER-1212 zkServer.sh stop action is not conformat with LSB para 20.2 Init Script Actions
  • ZOOKEEPER-1237 ERRORs being logged when queued responses are sent after socket has closed.

Improvements [3.4.0]

  • ZOOKEEPER-494 zookeeper should install include headers in /usr/local/include/zookeeper
  • ZOOKEEPER-500 Async methods shouldnt throw exceptions
  • ZOOKEEPER-631 zkpython's C code could do with a style clean-up
  • ZOOKEEPER-636 configure.ac has instructions which override the contents of CFLAGS and CXXFLAGS.
  • ZOOKEEPER-724 Improve junit test integration - log harness information
  • ZOOKEEPER-733 use netty to handle client connections
  • ZOOKEEPER-765 Add python example script
  • ZOOKEEPER-773 Log visualisation
  • ZOOKEEPER-788 Add server id to message logs
  • ZOOKEEPER-789 Improve FLE log messages
  • ZOOKEEPER-797 c client source with AI_ADDRCONFIG cannot be compiled with early glibc
  • ZOOKEEPER-809 Improved REST Interface
  • ZOOKEEPER-821 Add ZooKeeper version information to zkpython
  • ZOOKEEPER-853 Make zookeeper.is_unrecoverable return True or False and not an integer
  • ZOOKEEPER-862 Hedwig created ledgers with hardcoded Bookkeeper ensemble and quorum size. Make these a server config parameter instead.
  • ZOOKEEPER-864 Hedwig C++ client improvements
  • ZOOKEEPER-891 Allow non-numeric version strings
  • ZOOKEEPER-905 enhance zkServer.sh for easier zookeeper automation-izing
  • ZOOKEEPER-926 Fork Hadoop common's test-patch.sh and modify for Zookeeper
  • ZOOKEEPER-977 passing null for path_buffer in zoo_create
  • ZOOKEEPER-980 allow configuration parameters for log4j.properties
  • ZOOKEEPER-993 Code improvements
  • ZOOKEEPER-997 ZkClient ignores command if there are any space in front of it
  • ZOOKEEPER-1018 The connection permutation in get_addrs uses a weak and inefficient shuffle
  • ZOOKEEPER-1025 zkCli is overly sensitive to to spaces.
  • ZOOKEEPER-1030 Increase default for maxClientCnxns
  • ZOOKEEPER-1094 Small improvements to LeaderElection and Vote classes
  • ZOOKEEPER-1095 Simple leader election recipe
  • ZOOKEEPER-1103 In QuorumTest, use the same "for ( .. try { break } catch { } )" pattern in testFollowersStartAfterLeaders as in testSessionMove.
  • ZOOKEEPER-1104 CLONE - In QuorumTest, use the same "for ( .. try { break } catch { } )" pattern in testFollowersStartAfterLeaders as in testSessionMove.
  • ZOOKEEPER-1143 quorum send & recv workers are missing thread names
  • ZOOKEEPER-1153 Deprecate AuthFLE and LE
  • ZOOKEEPER-1166 Please add a few svn:ignore properties
  • ZOOKEEPER-1169 Fix compiler (eclipse) warnings in (generated) jute code
  • ZOOKEEPER-1243 New 4lw for short simple monitoring ldck

New Features [3.4.0]

  • ZOOKEEPER-464 Need procedure to garbage collect ledgers
  • ZOOKEEPER-465 Ledger size in bytes
  • ZOOKEEPER-546 add "diskless" ensemble support
  • ZOOKEEPER-712 Bookie recovery
  • ZOOKEEPER-729 Recursively delete a znode - zkCli.sh rmr /node
  • ZOOKEEPER-744 Add monitoring four-letter word
  • ZOOKEEPER-747 Add C# generation to Jute
  • ZOOKEEPER-775 A large scale pub/sub system
  • ZOOKEEPER-799 Add tools and recipes for monitoring as a contrib
  • ZOOKEEPER-808 Web-based Administrative Interface
  • ZOOKEEPER-859 Native Windows version of C client
  • ZOOKEEPER-938 Support Kerberos authentication of clients.
  • ZOOKEEPER-992 MT Native Version of Windows C Client
  • ZOOKEEPER-999 Create an package integration project
  • ZOOKEEPER-1012 support distinct JVMFLAGS for zookeeper server in zkServer.sh and zookeeper client in zkCli.sh
  • ZOOKEEPER-1020 Implement function in C client to determine which host you're currently connected to.
  • ZOOKEEPER-1107 automating log and snapshot cleaning

Tasks [3.4.0]

  • ZOOKEEPER-754 numerous misspellings "succesfully"
  • ZOOKEEPER-1149 users cannot migrate from 3.4->3.3->3.4 server code against a single datadir

Tests [3.4.0]

  • ZOOKEEPER-239 ZooKeeper System Tests.

ZooKeeper 3.3.6

Bug Fixes [3.3.6]

  • [ZOOKEEPER-1048] addauth command does not work in cli_mt/cli_st
  • [ZOOKEEPER-1163] Memory leak in zk_hashtable.c:do_insert_watcher_object()
  • [ZOOKEEPER-1210] Can't build ZooKeeper RPM with RPM >= 4.6.0 (i.e. on RHEL 6 and Fedora >= 10)
  • [ZOOKEEPER-1305] zookeeper.c:prepend_string func can dereference null ptr
  • [ZOOKEEPER-1318] In Python binding, get_children (and get and exists, and probably others) with expired session doesn't raise exception properly
  • [ZOOKEEPER-1339] C clien doesn't build with --enable-debug
  • [ZOOKEEPER-1395] node-watcher double-free redux
  • [ZOOKEEPER-1403] zkCli.sh script quoting issue
  • [ZOOKEEPER-1431] zkpython: async calls leak memory
  • [ZOOKEEPER-1466] QuorumCnxManager.shutdown missing synchronization
  • [ZOOKEEPER-1489] Data loss after truncate on transaction log
  • [ZOOKEEPER-1493] C Client: zookeeper_process doesn't invoke completion callback if zookeeper_close has been called
  • [ZOOKEEPER-1521] LearnerHandler initLimit/syncLimit problems specifying follower socket timeout limits

Improvement [3.3.6]

  • [ZOOKEEPER-1433] improve ZxidRolloverTest (test seems flakey)
  • [ZOOKEEPER-1454] Document how to run autoreconf if cppunit is installed in a non-standard directory

Task [3.3.6]

  • [ZOOKEEPER-1450] Backport ZOOKEEPER-1294 fix to 3.4 and 3.3

ZooKeeper 3.3.5

Bug Fixes [3.3.5]

  • [ZOOKEEPER-973] bind() could fail on Leader because it does not setReuseAddress on its ServerSocket
  • [ZOOKEEPER-1089] zkServer.sh status does not work due to invalid option of nc
  • [ZOOKEEPER-1277] servers stop serving when lower 32bits of zxid roll over
  • [ZOOKEEPER-1309] Creating a new ZooKeeper client can leak file handles
  • [ZOOKEEPER-1352] server.InvalidSnapshotTest is using connection timeouts that are too short
  • [ZOOKEEPER-1353] C client test suite fails consistently
  • [ZOOKEEPER-1367] Data inconsistencies and unexpired ephemeral nodes after cluster restart
  • [ZOOKEEPER-1386] avoid flaky URL redirection in "ant javadoc" : replace "http://java.sun.com/javase/6/docs/api/" with "http://download.oracle.com/javase/6/docs/api/"
  • [ZOOKEEPER-1412] java client watches inconsistently triggered on reconnect

Improvement [3.3.5]

  • [ZOOKEEPER-1345] Add a .gitignore file with general exclusions and Eclipse project files excluded
  • [ZOOKEEPER-1389] it would be nice if start-foreground used exec $JAVA in order to get rid of the intermediate shell process

ZooKeeper 3.3.4

Bug Fixes [3.3.4]

  • [ZOOKEEPER-961] Watch recovery after disconnection when connection string contains a prefix
  • [ZOOKEEPER-1006] QuorumPeer "Address already in use" -- regression in 3.3.3
  • [ZOOKEEPER-1046] Creating a new sequential node results in a ZNODEEXISTS error
  • [ZOOKEEPER-1049] Session expire/close flooding renders heartbeats to delay significantly
  • [ZOOKEEPER-1069] Calling shutdown() on a QuorumPeer too quickly can lead to a corrupt log
  • [ZOOKEEPER-1087] ForceSync VM arguement not working when set to "no"
  • [ZOOKEEPER-1097] Quota is not correctly rehydrated on snapshot reload
  • [ZOOKEEPER-1117] zookeeper 3.3.3 fails to build with gcc >= 4.6.1 on Debian/Ubuntu
  • [ZOOKEEPER-1154] Data inconsistency when the node(s) with the highest zxid is not present at the time of leader election
  • [ZOOKEEPER-1156] Log truncation truncating log too much - can cause data loss
  • [ZOOKEEPER-1174] FD leak when network unreachable
  • [ZOOKEEPER-1189] For an invalid snapshot file(less than 10bytes size) RandomAccessFile stream is leaking.
  • [ZOOKEEPER-1203] Zookeeper systest is missing Junit Classes
  • [ZOOKEEPER-1206] Sequential node creation does not use always use digits in node name given certain Locales.
  • [ZOOKEEPER-1208] Ephemeral node not removed after the client session is long gone
  • [ZOOKEEPER-1212] zkServer.sh stop action is not conformat with LSB para 20.2 Init Script Actions
  • [ZOOKEEPER-1264] FollowerResyncConcurrencyTest failing intermittently
  • [ZOOKEEPER-1271] testEarlyLeaderAbandonment failing on solaris - clients not retrying connection
  • [ZOOKEEPER-1283] building 3.3 branch fails with Ant 1.8.2 (success with 1.7.1 though)

Improvement [3.3.4]

  • [ZOOKEEPER-1103] In QuorumTest, use the same "for ( .. try { break } catch { } )" pattern in testFollowersStartAfterLeaders as in testSessionMove.
  • [ZOOKEEPER-1239] add logging/stats to identify fsync stalls
  • [ZOOKEEPER-1301] backport patches related to the zk startup script from 3.4 to 3.3 release

ZooKeeper 3.3.3

Bug [3.3.3]

  • [ZOOKEEPER-882] Startup loads last transaction from snapshot
  • [ZOOKEEPER-888] c-client / zkpython: Double free corruption on node watcher
  • [ZOOKEEPER-913] Version parser fails to parse "3.3.2-dev" from build.xml.
  • [ZOOKEEPER-917] Leader election selected incorrect leader
  • [ZOOKEEPER-919] Ephemeral nodes remains in one of ensemble after deliberate SIGKILL
  • [ZOOKEEPER-921] zkPython incorrectly checks for existence of required ACL elements
  • [ZOOKEEPER-957] zkCleanup.sh doesn't do anything
  • [ZOOKEEPER-962] leader/follower coherence issue when follower is receiving a DIFF
  • [ZOOKEEPER-963] Make Forrest work with JDK6
  • [ZOOKEEPER-985] Test BookieRecoveryTest fails on trunk.

Improvement [3.3.3]

  • [ZOOKEEPER-960] Publish BookKeeper jars into maven.

New Feature [3.3.3]

  • [ZOOKEEPER-465] Ledger size in bytes
  • [ZOOKEEPER-712] Bookie recovery

ZooKeeper 3.3.2

Bug Fixes [3.3.2]

  • ZOOKEEPER-732 Improper translation of error into Python exception - Release Comment: Client that uses python binding may receive SystemError on session expiration.
  • ZOOKEEPER-772 zkpython segfaults when watcher from async get children is invoked.
  • ZOOKEEPER-783 committedLog in ZKDatabase is not properly synchronized
  • ZOOKEEPER-785 Zookeeper 3.3.1 shouldn't infinite loop if someone creates a server.0 line
  • ZOOKEEPER-787 groupId in deployed pom is wrong
  • ZOOKEEPER-790 Last processed zxid set prematurely while establishing leadership
  • ZOOKEEPER-792 zkpython memory leak
  • ZOOKEEPER-794 Callbacks are not invoked when the client is closed
  • ZOOKEEPER-795 eventThread isn't shutdown after a connection "session expired" event coming
  • ZOOKEEPER-800 zoo_add_auth returns ZOK if zookeeper handle is in ZOO_CLOSED_STATE
  • ZOOKEEPER-804 c unit tests failing due to "assertion cptr failed"
  • ZOOKEEPER-813 maven install is broken due to incorrect organisation
  • ZOOKEEPER-820 update c unit tests to ensure "zombie" java server processes don't cause failure
  • ZOOKEEPER-822 Leader election taking a long time to complete
  • ZOOKEEPER-844 handle auth failure in java client
  • ZOOKEEPER-846 zookeeper client doesn't shut down cleanly on the close call
  • ZOOKEEPER-855 clientPortBindAddress should be clientPortAddress
  • ZOOKEEPER-867 ClientTest is failing on hudson - fd cleanup
  • ZOOKEEPER-881 ZooKeeperServer.loadData loads database twice
  • ZOOKEEPER-888 c-client / zkpython: Double free corruption on node watcher
  • ZOOKEEPER-893 ZooKeeper high cpu usage when invalid requests
  • ZOOKEEPER-897 C Client seg faults during close
  • ZOOKEEPER-898 C Client might not cleanup correctly during close
  • ZOOKEEPER-904 super digest is not actually acting as a full superuser
  • ZOOKEEPER-907 Spurious "KeeperErrorCode = Session moved" messages

Improvement [3.3.2]

  • ZOOKEEPER-789 Improve FLE log messages

ZooKeeper 3.2.2

Bug Fixes [3.2.2]

  • ZOOKEEPER-582 ZooKeeper can revert to old data when a snapshot is created outside of normal processing
  • ZOOKEEPER-562 c client can flood server with pings if tcp send queue filled
  • ZOOKEEPER-538 zookeeper.async causes python to segfault
  • ZOOKEEPER-547 Sanity check in QuorumCnxn Manager and quorum communication port.
  • ZOOKEEPER-420 build/test should not require install in zkpython
  • ZOOKEEPER-576 docs need to be updated for session moved exception and how to handle it
  • ZOOKEEPER-554 zkpython can segfault when statting a deleted node
  • ZOOKEEPER-541 zkpython limited to 256 handles
  • ZOOKEEPER-510 zkpython lumps all exceptions as IOError, needs specialized exceptions for KeeperException types
  • ZOOKEEPER-540 zkpython needs better tracking of handle validity
  • ZOOKEEPER-585 Update README for zkpython in 3.2.2
  • ZOOKEEPER-597 ASyncHammerTest is failing intermittently on hudson trunk.
  • ZOOKEEPER-611 hudson build failiure.

ZooKeeper 3.1.2

Bug Fixes [3.1.2]

  • ZOOKEEPER-582 ZooKeeper can revert to old data when a snapshot is created outside of normal processing
  • ZOOKEEPER-562 c client can flood server with pings if tcp send queue filled
  • ZOOKEEPER-597 ASyncHammerTest is failing intermittently on hudson trunk.
  • ZOOKEEPER-611 hudson build failiure