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

Reply via email to