This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new b1c386fd8b3 SOLR-18055: Fix test to prevent suite failures due to
object (and thread) leaks when SSL is randomized
b1c386fd8b3 is described below
commit b1c386fd8b38c10a114ec56f0a3b608e35819750
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);