This is an automated email from the ASF dual-hosted git repository.

eolivelli pushed a commit to branch branch-3.7
in repository https://gitbox.apache.org/repos/asf/zookeeper.git


The following commit(s) were added to refs/heads/branch-3.7 by this push:
     new c78cf9a36 Revert "ZOOKEEPER-1875: NullPointerException in 
ClientCnxn$EventThread.processEvent"
c78cf9a36 is described below

commit c78cf9a36f2540de4544cf8db258b18e878e8b5d
Author: Enrico Olivelli <[email protected]>
AuthorDate: Tue Jan 24 09:20:29 2023 +0100

    Revert "ZOOKEEPER-1875: NullPointerException in 
ClientCnxn$EventThread.processEvent"
    
    This reverts commit 9769139f991a3b458b4cd3ee11b766a45ccd34ff.
---
 .../main/java/org/apache/zookeeper/ZooKeeper.java  | 78 +++-------------------
 .../java/org/apache/zookeeper/ZooKeeperTest.java   | 23 -------
 .../zookeeper/server/quorum/QuorumDigestTest.java  |  2 +-
 .../apache/zookeeper/test/ObserverMasterTest.java  |  2 +-
 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);

Reply via email to