Andrey, Il giorno lun 23 gen 2023 alle ore 23:58 Andrey Yegorov <ayego...@apache.org> ha scritto: > > > -1 (non-binding) from me. > > I created a couple of PRs to test Apache Pulsar and Apache BookKeeper with > this RC. > https://github.com/apache/bookkeeper/pull/3754 > https://github.com/dlg99/pulsar/pull/8 > > There are new test failures related to "Invalid Watcher, shouldn't be null!". > The problem is caused by validateWatcher in constructor (added in 3.8.1) > ``` > private void validateWatcher(Watcher watcher) { > if (watcher == null) { > throw new IllegalArgumentException("Invalid Watcher, shouldn't be > null!"); > } > } > > public ZooKeeper(String connectString, int sessionTimeout, Watcher > watcher, boolean canBeReadOnly, HostProvider hostProvider, ZKClientConfig > clientConfig) throws IOException { > LOG.info("Initiating client connection, connectString={} > sessionTimeout={} watcher={}", new Object[]{connectString, sessionTimeout, > watcher}); > this.validateWatcher(watcher); > ... > ``` > > So the calls like > ``` > ZooKeeper zkc = new ZooKeeper(zkUtil.getZooKeeperConnectString(), 10000, > null); > ``` > (where watcher is null) are no longer valid. > > Personally, I think it is a bit too much for a minor 3.8.x release, 3.9.0 > would be a more appropriate version to require such changes.
I agree that this looks like a breaking change and we should not allow it for a minor release. Also I generally think that it is better to NOT introduce any breaking changes in ZooKeeper at all as the library is really widely used. This is the PR that introduced the change https://github.com/apache/zookeeper/pull/1855 This is the JIRA https://issues.apache.org/jira/browse/ZOOKEEPER-1875 The validation prevents NPE to happen in the event dispatcher thread I am going to revert that change from the branch-3.8 branch and on master branch We can think to a better solution (not to be discussed here) Enrico > > -- > Andrey Yegorov > > On 2023/01/23 13:50:08 Enrico Olivelli wrote: > > This is a release candidate for 3.8.1. > > > > This is a bugfix release. The full release notes is available at: > > > > https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351398&styleName=Html&projectId=12310801 > > > > *** Please download, test and vote by Thursday 26th 2023, 23:59 UTC+0. *** > > > > Source files: > > https://dist.apache.org/repos/dist/dev/zookeeper/zookeeper-3.8.1-candidate-0/ > > > > Maven staging repo: > > https://repository.apache.org/content/repositories/orgapachezookeeper-1085/ > > > > The release candidate tag in git to be voted upon: release-3.8.1-0 > > https://github.com/apache/zookeeper/tree/release-3.8.1-0 > > > > ZooKeeper's KEYS file containing PGP keys we use to sign the release: > > https://www.apache.org/dist/zookeeper/KEYS > > > > The staging version of the website is: > > https://dist.apache.org/repos/dist/dev/zookeeper/zookeeper-3.8.1-candidate-0/website/index.html > > > > > > Should we release this candidate? > > > > > > Enrico Olivelli > >