This is an automated email from the ASF dual-hosted git repository.

dsmiley pushed a commit to branch branch_10x
in repository https://gitbox.apache.org/repos/asf/solr.git

commit 32b0f77ec49bda28cc8b8c6f8c2ee22f7b763a56
Author: Chris Hostetter <[email protected]>
AuthorDate: Sat May 9 10:58:44 2026 -0700

    SOLR-18055: Fix test to prevent suite failures due to object (and thread) 
leaks when SSL is randomized
    
    In the prior code the assumptions thrown by the helper methods would 
prevent the SolrZkClient (and all associated zk threads) from being closed
    
    this change also ensures that the testUrlSchemeWithSystemProperties (which 
is designed to support ssl) is not skipped if the helpers that don't work with 
ssl are skipped
---
 .../solrj/impl/ClusterStateProviderTest.java       | 28 +++++++++++++++-------
 1 file changed, 20 insertions(+), 8 deletions(-)

diff --git 
a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ClusterStateProviderTest.java
 
b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ClusterStateProviderTest.java
index 63f3ab56657..3d6ff7ca62f 100644
--- 
a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ClusterStateProviderTest.java
+++ 
b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ClusterStateProviderTest.java
@@ -460,25 +460,34 @@ public class ClusterStateProviderTest extends 
SolrCloudTestCase {
     final ZkTestServer server = new ZkTestServer(zkDir);
     try {
       server.run();
-      SolrZkClient client = new 
SolrZkClient.Builder().withUrl(server.getZkAddress()).build();
-      ZkController.createClusterZkNodes(client);
-      testUrlSchemeWithClusterProperties(client);
-      testUrlSchemeDefault(client);
-      testUrlSchemeWithSystemProperties(client);
-      client.close();
+      try (SolrZkClient client =
+          new SolrZkClient.Builder().withUrl(server.getZkAddress()).build()) {
+        ZkController.createClusterZkNodes(client);
+
+        testUrlSchemeWithSystemProperties(client);
+
+        assumeFalse(
+            "Skip schema default and cluster property checks when SSL is 
enabled", isSSLMode());
+        testUrlSchemeWithClusterProperties(client);
+        testUrlSchemeDefault(client);
+      }
     } finally {
       server.shutdown();
     }
   }
 
+  /**
+   * Used by {@link #testZkClusterStateProviderUrlScheme}. Only valid if 
{@link #isSSLMode} is false
+   */
   private void testUrlSchemeDefault(SolrZkClient client) throws Exception {
-    assumeFalse("Skip the test when ssl is enabled", isSSLMode());
+    assertFalse("These checks are not supported in SSL mode", isSSLMode());
     try (var zkStateReader = new ZkStateReader(client);
         var clusterStateProvider = new 
ZkClientClusterStateProvider(zkStateReader)) {
       assertEquals("http", clusterStateProvider.getUrlScheme());
     }
   }
 
+  /** Used by {@link #testZkClusterStateProviderUrlScheme} */
   private void testUrlSchemeWithSystemProperties(SolrZkClient client) throws 
Exception {
     try (var zkStateReader = new ZkStateReader(client);
         var clusterStateProvider = new 
ZkClientClusterStateProvider(zkStateReader)) {
@@ -487,8 +496,11 @@ public class ClusterStateProviderTest extends 
SolrCloudTestCase {
     }
   }
 
+  /**
+   * Used by {@link #testZkClusterStateProviderUrlScheme}. Only valid if 
{@link #isSSLMode} is false
+   */
   private void testUrlSchemeWithClusterProperties(SolrZkClient client) throws 
Exception {
-    assumeFalse("Skip the test when ssl is enabled", isSSLMode());
+    assertFalse("These checks are not supported in SSL mode", isSSLMode());
     ClusterProperties cp = new ClusterProperties(client);
     cp.setClusterProperty("urlScheme", "ftp");
     try (var zkStateReader = new ZkStateReader(client);

Reply via email to