summaryrefslogtreecommitdiff
path: root/zookeeper-server
diff options
context:
space:
mode:
authorHouston Putman <houston@apache.org>2022-05-16 12:07:38 +0800
committermaoling <maoling@apache.org>2022-05-16 12:07:38 +0800
commit6f0052d841b268a576f49c08425b49417cb2527f (patch)
tree1893132fbfe30c2593b954685c78200beb433a25 /zookeeper-server
parent724864487457d6f2eb7c331ef338936e1375072b (diff)
downloadzookeeper-6f0052d841b268a576f49c08425b49417cb2527f.tar.gz
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 <houston@apache.org> Reviewers: Enrico Olivelli <eolivelli@apache.org>, maoling <maoling@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
Diffstat (limited to 'zookeeper-server')
-rw-r--r--zookeeper-server/src/main/java/org/apache/zookeeper/Testable.java7
-rw-r--r--zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeperTestable.java7
2 files changed, 14 insertions, 0 deletions
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();
+ }
+
}