summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Olivelli <eolivelli@apache.org>2023-01-24 09:16:10 +0100
committerEnrico Olivelli <eolivelli@apache.org>2023-01-24 09:16:10 +0100
commitdaea9e300f2332134600b1088265bae7b02d5383 (patch)
treec47fe39798fa48a1c56d6c76eead3958f19b4730
parent43647aa5caa812041bd9f1141f5f02a467c7f360 (diff)
downloadzookeeper-daea9e300f2332134600b1088265bae7b02d5383.tar.gz
Revert "ZOOKEEPER-1875: NullPointerException in ClientCnxn$EventThread.processEvent"
This reverts commit 86690ff40cb5c9f5782f0971db16e8fd1c3528e6.
-rw-r--r--zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeper.java78
-rw-r--r--zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java23
-rw-r--r--zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumDigestTest.java2
-rw-r--r--zookeeper-server/src/test/java/org/apache/zookeeper/test/ObserverMasterTest.java2
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);