You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ma...@apache.org on 2022/05/16 04:07:50 UTC
[zookeeper] branch master updated: ZOOKEEPER-4519: Add closeSocket method to Testable interface
This is an automated email from the ASF dual-hosted git repository.
maoling pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zookeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 6f0052d84 ZOOKEEPER-4519: Add closeSocket method to Testable interface
6f0052d84 is described below
commit 6f0052d841b268a576f49c08425b49417cb2527f
Author: Houston Putman <ho...@apache.org>
AuthorDate: Mon May 16 12:07:38 2022 +0800
ZOOKEEPER-4519: Add closeSocket method to Testable interface
This is backwards compatible, since the new method on the `Testable` interface defaults to a no-op.
Author: Houston Putman <ho...@apache.org>
Reviewers: Enrico Olivelli <eo...@apache.org>, maoling <ma...@apache.org>
Closes #1863 from HoustonPutman/zk-testable-socket-close and squashes the following commits:
1f9d814f5 [Houston Putman] Fix style
475c9f516 [Houston Putman] ZOOKEEPER-4519: Add closeSocket method to Testable interface
---
zookeeper-server/src/main/java/org/apache/zookeeper/Testable.java | 7 +++++++
.../src/main/java/org/apache/zookeeper/ZooKeeperTestable.java | 7 +++++++
2 files changed, 14 insertions(+)
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/Testable.java b/zookeeper-server/src/main/java/org/apache/zookeeper/Testable.java
index 780cbe893..a1c9c96e9 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/Testable.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/Testable.java
@@ -18,6 +18,8 @@
package org.apache.zookeeper;
+import java.io.IOException;
+
/**
* Abstraction that exposes various methods useful for testing ZooKeeper
*/
@@ -35,4 +37,9 @@ public interface Testable {
*/
void queueEvent(WatchedEvent event);
+ /**
+ * Close the ClientCnxn socket for testing purposes
+ */
+ default void closeSocket() throws IOException { }
+
}
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeperTestable.java b/zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeperTestable.java
index f7e403c33..182220039 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeperTestable.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeperTestable.java
@@ -18,6 +18,7 @@
package org.apache.zookeeper;
+import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,4 +48,10 @@ class ZooKeeperTestable implements Testable {
clientCnxn.eventThread.queueEvent(event);
}
+ @Override
+ public void closeSocket() throws IOException {
+ LOG.info("closeSocket() called");
+ clientCnxn.sendThread.testableCloseSocket();
+ }
+
}