diff options
author | Enrico Olivelli <eolivelli@apache.org> | 2023-01-24 09:16:10 +0100 |
---|---|---|
committer | Enrico Olivelli <eolivelli@apache.org> | 2023-01-24 09:16:10 +0100 |
commit | daea9e300f2332134600b1088265bae7b02d5383 (patch) | |
tree | c47fe39798fa48a1c56d6c76eead3958f19b4730 | |
parent | 43647aa5caa812041bd9f1141f5f02a467c7f360 (diff) | |
download | zookeeper-daea9e300f2332134600b1088265bae7b02d5383.tar.gz |
Revert "ZOOKEEPER-1875: NullPointerException in ClientCnxn$EventThread.processEvent"
This reverts commit 86690ff40cb5c9f5782f0971db16e8fd1c3528e6.
4 files changed, 13 insertions, 92 deletions
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeper.java b/zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeper.java index 281355b1a..127f5a2a3 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeper.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeper.java @@ -442,12 +442,7 @@ public class ZooKeeper implements AutoCloseable { * @throws IOException * in cases of network failure * @throws IllegalArgumentException - * if any of the following is true: - * <ul> - * <li> if an invalid chroot path is specified - * <li> for an invalid list of ZooKeeper hosts - * <li> watcher is null - * </ul> + * if an invalid chroot path is specified */ public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher) throws IOException { this(connectString, sessionTimeout, watcher, false); @@ -496,12 +491,7 @@ public class ZooKeeper implements AutoCloseable { * @throws IOException * in cases of network failure * @throws IllegalArgumentException - * if any of the following is true: - * <ul> - * <li> if an invalid chroot path is specified - * <li> for an invalid list of ZooKeeper hosts - * <li> watcher is null - * </ul> + * if an invalid chroot path is specified */ public ZooKeeper( String connectString, @@ -566,12 +556,7 @@ public class ZooKeeper implements AutoCloseable { * @throws IOException * in cases of network failure * @throws IllegalArgumentException - * if any of the following is true: - * <ul> - * <li> if an invalid chroot path is specified - * <li> for an invalid list of ZooKeeper hosts - * <li> watcher is null - * </ul> + * if an invalid chroot path is specified */ public ZooKeeper( String connectString, @@ -639,12 +624,7 @@ public class ZooKeeper implements AutoCloseable { * @throws IOException * in cases of network failure * @throws IllegalArgumentException - * if any of the following is true: - * <ul> - * <li> if an invalid chroot path is specified - * <li> for an invalid list of ZooKeeper hosts - * <li> watcher is null - * </ul> + * if an invalid chroot path is specified */ public ZooKeeper( String connectString, @@ -660,7 +640,6 @@ public class ZooKeeper implements AutoCloseable { sessionTimeout, watcher); - validateWatcher(watcher); this.clientConfig = clientConfig != null ? clientConfig : new ZKClientConfig(); this.hostProvider = hostProvider; ConnectStringParser connectStringParser = new ConnectStringParser(connectString); @@ -745,12 +724,7 @@ public class ZooKeeper implements AutoCloseable { * @throws IOException * in cases of network failure * @throws IllegalArgumentException - * if any of the following is true: - * <ul> - * <li> if an invalid chroot path is specified - * <li> for an invalid list of ZooKeeper hosts - * <li> watcher is null - * </ul> + * if an invalid chroot path is specified */ public ZooKeeper( String connectString, @@ -812,12 +786,7 @@ public class ZooKeeper implements AutoCloseable { * @throws IOException * in cases of network failure * @throws IllegalArgumentException - * if any of the following is true: - * <ul> - * <li> if an invalid chroot path is specified - * <li> for an invalid list of ZooKeeper hosts - * <li> watcher is null - * </ul> + * if an invalid chroot path is specified */ public ZooKeeper( String connectString, @@ -883,13 +852,8 @@ public class ZooKeeper implements AutoCloseable { * password for this session * * @throws IOException in cases of network failure - * @throws IllegalArgumentException - * if any of the following is true: - * <ul> - * <li> if an invalid chroot path is specified - * <li> for an invalid list of ZooKeeper hosts - * <li> watcher is null - * </ul> + * @throws IllegalArgumentException if an invalid chroot path is specified + * @throws IllegalArgumentException for an invalid list of ZooKeeper hosts */ public ZooKeeper( String connectString, @@ -962,13 +926,7 @@ public class ZooKeeper implements AutoCloseable { * @param aHostProvider * use this as HostProvider to enable custom behaviour. * @throws IOException in cases of network failure - * @throws IllegalArgumentException - * if any of the following is true: - * <ul> - * <li> if an invalid chroot path is specified - * <li> for an invalid list of ZooKeeper hosts - * <li> watcher is null - * </ul> + * @throws IllegalArgumentException if an invalid chroot path is specified */ public ZooKeeper( String connectString, @@ -1055,12 +1013,7 @@ public class ZooKeeper implements AutoCloseable { * configuring properties differently compared to other instances * @throws IOException in cases of network failure * @throws IllegalArgumentException if an invalid chroot path is specified - * if any of the following is true: - * <ul> - * <li> if an invalid chroot path is specified - * <li> for an invalid list of ZooKeeper hosts - * <li> watcher is null - * </ul> + * * @since 3.5.5 */ public ZooKeeper( @@ -1081,7 +1034,6 @@ public class ZooKeeper implements AutoCloseable { Long.toHexString(sessionId), (sessionPasswd == null ? "<null>" : "<hidden>")); - validateWatcher(watcher); this.clientConfig = clientConfig != null ? clientConfig : new ZKClientConfig(); ConnectStringParser connectStringParser = new ConnectStringParser(connectString); this.hostProvider = hostProvider; @@ -1159,13 +1111,7 @@ public class ZooKeeper implements AutoCloseable { * allowed while write requests are not. It continues seeking for * majority in the background. * @throws IOException in cases of network failure - * @throws IllegalArgumentException - * if any of the following is true: - * <ul> - * <li> if an invalid chroot path is specified - * <li> for an invalid list of ZooKeeper hosts - * <li> watcher is null - * </ul> + * @throws IllegalArgumentException if an invalid chroot path is specified */ public ZooKeeper( String connectString, @@ -1248,10 +1194,8 @@ public class ZooKeeper implements AutoCloseable { /** * Specify the default watcher for the connection (overrides the one * specified during construction). - * @throws IllegalArgumentException if watcher is null */ public synchronized void register(Watcher watcher) { - validateWatcher(watcher); getWatchManager().setDefaultWatcher(watcher); } diff --git a/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java b/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java index 9d45802bb..c829e85da 100644 --- a/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java +++ b/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java @@ -815,27 +815,4 @@ public class ZooKeeperTest extends ClientBase { assertThrows(IllegalArgumentException.class, () -> KeeperException.create(Code.get(Integer.MAX_VALUE))); } - @Test - public void testInvalidWatcherRegistration() throws Exception { - String nullWatcherMsg = "Invalid Watcher, shouldn't be null!"; - final ZooKeeper zk = createClient(); - try { - zk.register(null); - fail("Should validate null watcher!"); - } catch (IllegalArgumentException iae) { - assertEquals(nullWatcherMsg, iae.getMessage()); - } - try { - new ZooKeeper(hostPort, 10000, null, false); - fail("Should validate null watcher!"); - } catch (IllegalArgumentException iae) { - assertEquals(nullWatcherMsg, iae.getMessage()); - } - try { - new ZooKeeper(hostPort, 10000, null, 10L, "".getBytes(), false); - fail("Should validate null watcher!"); - } catch (IllegalArgumentException iae) { - assertEquals(nullWatcherMsg, iae.getMessage()); - } - } } diff --git a/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumDigestTest.java b/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumDigestTest.java index a9e65a445..af2fed8cf 100644 --- a/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumDigestTest.java +++ b/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumDigestTest.java @@ -204,7 +204,7 @@ public class QuorumDigestTest extends QuorumPeerTestBase { private void triggerOps(int sid, String prefix) throws Exception { TxnLogDigestTest.performOperations(servers.zk[sid], prefix); - servers.restartClient(sid, event -> { }); + servers.restartClient(sid, null); waitForOne(servers.zk[sid], States.CONNECTED); } diff --git a/zookeeper-server/src/test/java/org/apache/zookeeper/test/ObserverMasterTest.java b/zookeeper-server/src/test/java/org/apache/zookeeper/test/ObserverMasterTest.java index 683495407..ffd659978 100644 --- a/zookeeper-server/src/test/java/org/apache/zookeeper/test/ObserverMasterTest.java +++ b/zookeeper-server/src/test/java/org/apache/zookeeper/test/ObserverMasterTest.java @@ -213,7 +213,7 @@ public class ObserverMasterTest extends ObserverMasterTestBase { public void testInOrderCommits(boolean testObserverMaster) throws Exception { setUp(-1, testObserverMaster); - zk = new ZooKeeper("127.0.0.1:" + CLIENT_PORT_QP1, ClientBase.CONNECTION_TIMEOUT, event -> { }); + zk = new ZooKeeper("127.0.0.1:" + CLIENT_PORT_QP1, ClientBase.CONNECTION_TIMEOUT, null); for (int i = 0; i < 10; i++) { zk.create("/bulk" + i, ("Initial data of some size").getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); |