Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ZOOKEEPER-4377: KeeperException.create has NullPointerException when …
…low version client requests the high version server - When low version client accessed the high version server which has some new added error code, the client will get a NPE: ``` java.lang.NullPointerException at org.apache.zookeeper.KeeperException.create(KeeperException.java:94) at org.apache.zookeeper.KeeperException.create(KeeperException.java:54) at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:1538) ``` - How to reproduce this issue?For example: ``` the client version we using is 3.6.0, and server version we using is 3.7.0 which has a new added error code QUOTAEXCEEDED(-125), we set quota at server side and use the client to create znodes which exceeds the quota, the client will get a NPE ``` - Apply this patch, we will get the following: ``` java.lang.IllegalArgumentException: The current client version cannot lookup this code:-125 at org.apache.zookeeper.KeeperException$Code.get(KeeperException.java:449) at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:1347) ``` - we should backport this PR to all branches, making the client has upward compatibility - more details in the [ZOOKEEPER-4377](https://issues.apache.org/jira/browse/ZOOKEEPER-4377) Author: maoling <maoling@apache.org> Reviewers: Enrico Olivelli <eolivelli@apache.org>, ruanwenjun <wenjun@apache.org> Closes #1764 from maoling/ZOOKEEPER-4377 (cherry picked from commit 9f355f5) Signed-off-by: maoling <maoling@apache.org>
- Loading branch information