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