Release Notes - ZooKeeper - Version 3.7.0
New Feature
Improvement
Bug
- 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-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-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-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-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-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-4055 - Dockerfile can't build Zookeeper C client library
Test
Wish
- 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
Sub-task