This is an automated email from the ASF dual-hosted git repository.
arshad 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 434c54d ZOOKEEPER-4345: Avoid NoSunchMethodException caused by shaded
zookeeper jar
434c54d is described below
commit 434c54d7501f9cbb15126561d3ca3d16aeace076
Author: Bo Cui <[email protected]>
AuthorDate: Wed Aug 11 20:40:33 2021 +0530
ZOOKEEPER-4345: Avoid NoSunchMethodException caused by shaded zookeeper jar
Author: Bo <[email protected]>
Reviewers: Enrico Olivelli <[email protected]>, Mohammad Arshad
<[email protected]>
Closes #1736 from cuibo01/zookeeper-4345 and squashes the following commits:
3965f2e8d [Bo] [ZOOKEEPER-4345]Avoid NoSunchMethodException caused by shaded
970972971 [Bo] [ZOOKEEPER-4345]Avoid NoSunchMethodException caused by shaded
(cherry picked from commit 5f6ec6cc7fd303702dca31edd2317b33c6e66bd1)
Signed-off-by: Mohammad Arshad <[email protected]>
---
.../src/main/java/org/apache/zookeeper/ZooKeeper.java | 5 ++++-
.../test/java/org/apache/zookeeper/test/ClientSSLTest.java | 12 ++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
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 9fba7a5..a013dd3 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeper.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/ZooKeeper.java
@@ -3028,9 +3028,12 @@ public class ZooKeeper implements AutoCloseable {
private ClientCnxnSocket getClientCnxnSocket() throws IOException {
String clientCnxnSocketName =
getClientConfig().getProperty(ZKClientConfig.ZOOKEEPER_CLIENT_CNXN_SOCKET);
- if (clientCnxnSocketName == null) {
+ if (clientCnxnSocketName == null ||
clientCnxnSocketName.equals(ClientCnxnSocketNIO.class.getSimpleName())) {
clientCnxnSocketName = ClientCnxnSocketNIO.class.getName();
+ } else if
(clientCnxnSocketName.equals(ClientCnxnSocketNetty.class.getSimpleName())) {
+ clientCnxnSocketName = ClientCnxnSocketNetty.class.getName();
}
+
try {
Constructor<?> clientCxnConstructor =
Class.forName(clientCnxnSocketName)
.getDeclaredConstructor(ZKClientConfig.class);
diff --git
a/zookeeper-server/src/test/java/org/apache/zookeeper/test/ClientSSLTest.java
b/zookeeper-server/src/test/java/org/apache/zookeeper/test/ClientSSLTest.java
index db1c81f..3996238 100644
---
a/zookeeper-server/src/test/java/org/apache/zookeeper/test/ClientSSLTest.java
+++
b/zookeeper-server/src/test/java/org/apache/zookeeper/test/ClientSSLTest.java
@@ -84,6 +84,18 @@ public class ClientSSLTest extends QuorumPeerTestBase {
testClientServerSSL(false);
}
+ @Test
+ public void testClientServerUnifiedPortWithCnxnClassName() throws
Exception {
+ System.setProperty(ZKClientConfig.ZOOKEEPER_CLIENT_CNXN_SOCKET,
"ClientCnxnSocketNIO");
+ testClientServerSSL(false);
+ }
+
+ @Test
+ public void testClientServerSSLWithCnxnClassName() throws Exception {
+ System.setProperty(ZKClientConfig.ZOOKEEPER_CLIENT_CNXN_SOCKET,
"ClientCnxnSocketNetty");
+ testClientServerSSL(true);
+ }
+
/**
* This test checks that client - server SSL works in cluster setup of ZK
servers, which includes:
* 1. setting "secureClientPort" in "zoo.cfg" file.