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

Reply via email to