This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit ac3b356063d38833214608c873f25ad0a27ea16e Merge: 8666265521 4034fbb6dd Author: Jon Meredith <jonmered...@apache.org> AuthorDate: Thu Aug 24 16:38:53 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 build.xml | 5 +- .../utils/RMIClientSocketFactoryImpl.java | 21 +++++- .../apache/cassandra/utils/ReflectionUtils.java | 43 +++++++++++ .../cassandra/distributed/impl/Instance.java | 5 +- .../cassandra/distributed/impl/IsolatedJmx.java | 87 +++++++++------------- .../cassandra/distributed/shared/ClusterUtils.java | 34 +++++++-- .../distributed/test/ResourceLeakTest.java | 52 +++++++------ .../distributed/test/jmx/JMXFeatureTest.java | 86 ++++++++++++++------- .../distributed/test/jmx/JMXGetterCheckTest.java | 46 +++++++++--- 9 files changed, 259 insertions(+), 120 deletions(-) diff --cc build.xml index 3593d4bd70,5812360e27..8d9b8f5516 --- a/build.xml +++ b/build.xml @@@ -153,8 -146,6 +153,8 @@@ <property name="chronicle-wire.version" value="2.20.117" /> <property name="chronicle-threads.version" value="2.20.111" /> - <property name="dtest-api.version" value="0.0.15" /> ++ <property name="dtest-api.version" value="0.0.16" /> + <condition property="maven-ant-tasks.jar.exists"> <available file="${build.dir}/maven-ant-tasks-${maven-ant-tasks.version}.jar" /> </condition> diff --cc src/java/org/apache/cassandra/utils/RMIClientSocketFactoryImpl.java index 62ab88fb92,81e728eeb9..5caa92cce4 --- a/src/java/org/apache/cassandra/utils/RMIClientSocketFactoryImpl.java +++ b/src/java/org/apache/cassandra/utils/RMIClientSocketFactoryImpl.java @@@ -42,7 -45,24 +45,23 @@@ public class RMIClientSocketFactoryImp @Override public Socket createSocket(String host, int port) throws IOException { - return new Socket(localAddress, port); + Socket socket = new Socket(localAddress, port); + sockets.add(socket); + return socket; + } + + public void close() throws IOException + { - for (Socket socket: sockets) - { ++ for (Socket socket: sockets) { + try + { + socket.close(); + } + catch (IOException ignored) + { + // intentionally ignored + } + } } @Override diff --cc src/java/org/apache/cassandra/utils/ReflectionUtils.java index bd605db3bc,e2280e66b0..07802267f1 --- a/src/java/org/apache/cassandra/utils/ReflectionUtils.java +++ b/src/java/org/apache/cassandra/utils/ReflectionUtils.java @@@ -20,8 -20,12 +20,11 @@@ package org.apache.cassandra.utils import java.lang.reflect.Field; import java.lang.reflect.Method; + import java.util.Iterator; + import java.util.Map; + import java.util.function.Predicate; -public class ReflectionUtils -{ +public class ReflectionUtils { public static Field getField(Class<?> clazz, String fieldName) throws NoSuchFieldException { // below code works before Java 12 diff --cc test/distributed/org/apache/cassandra/distributed/impl/Instance.java index 9975aeb9eb,39f5e980af..4b4276774b --- a/test/distributed/org/apache/cassandra/distributed/impl/Instance.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/Instance.java @@@ -755,9 -641,9 +755,9 @@@ public class Instance extends IsolatedE initialized = true; } - private void startJmx() + private synchronized void startJmx() { - isolatedJmx = new IsolatedJmx(this, inInstancelogger); + this.isolatedJmx = new IsolatedJmx(this, inInstancelogger); isolatedJmx.startJmx(); } diff --cc test/distributed/org/apache/cassandra/distributed/test/ResourceLeakTest.java index 794873feea,f318a1b0e0..7e4581c99c --- a/test/distributed/org/apache/cassandra/distributed/test/ResourceLeakTest.java +++ b/test/distributed/org/apache/cassandra/distributed/test/ResourceLeakTest.java @@@ -47,7 -48,7 +47,8 @@@ import static org.apache.cassandra.dist import static org.apache.cassandra.distributed.api.Feature.JMX; import static org.apache.cassandra.distributed.api.Feature.NATIVE_PROTOCOL; import static org.apache.cassandra.distributed.api.Feature.NETWORK; + import static org.apache.cassandra.distributed.test.jmx.JMXGetterCheckTest.testAllValidGetters; +import static org.apache.cassandra.utils.FBUtilities.now; import static org.hamcrest.Matchers.startsWith; /* Resource Leak Test - useful when tracking down issues with in-JVM framework cleanup. diff --cc test/distributed/org/apache/cassandra/distributed/test/jmx/JMXFeatureTest.java index 83a35e594d,ea1efa8902..a1576d6e36 --- a/test/distributed/org/apache/cassandra/distributed/test/jmx/JMXFeatureTest.java +++ b/test/distributed/org/apache/cassandra/distributed/test/jmx/JMXFeatureTest.java @@@ -18,9 -18,8 +18,9 @@@ package org.apache.cassandra.distributed.test.jmx; - import java.io.IOException; import java.util.HashSet; import java.util.Set; ++ import javax.management.MBeanServerConnection; import javax.management.remote.JMXConnector; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org