This is an automated email from the ASF dual-hosted git repository.
dsmiley 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 7d9b437237d SOLR-18089: Configure zookeeper.maxCnxns for embedded
ZkServer (#4173)
7d9b437237d is described below
commit 7d9b437237dea4670abc402b3409e800dea30e28
Author: openworld-maker <[email protected]>
AuthorDate: Mon Mar 9 06:16:11 2026 -0700
SOLR-18089: Configure zookeeper.maxCnxns for embedded ZkServer (#4173)
Thus avoiding the warning log from o.a.z.s.ServerCnxnFactory about this not
being configured.
Co-authored-by: Kamlendra <[email protected]>
---
solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java | 8 ++++++++
.../src/java/org/apache/solr/cloud/ZkTestServer.java | 1 +
2 files changed, 9 insertions(+)
diff --git a/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java
b/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java
index 3b18f2ac7a9..84617c70027 100644
--- a/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java
@@ -41,6 +41,9 @@ public class SolrZkServer {
private static final Logger log =
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
public static final String ZK_WHITELIST_PROPERTY =
"zookeeper.4lw.commands.whitelist";
+ public static final String ZK_MAX_CNXNS_PROPERTY = "zookeeper.maxCnxns";
+ // Per ZooKeeper, "0" means no limit for max client connections.
+ public static final String ZK_MAX_CNXNS_DEFAULT = "0";
boolean zkRun = false;
String zkHost;
@@ -138,6 +141,7 @@ public class SolrZkServer {
return;
}
+ ensureZkMaxCnxnsConfigured();
if (System.getProperty(ZK_WHITELIST_PROPERTY) == null) {
System.setProperty(ZK_WHITELIST_PROPERTY, "ruok, mntr, conf");
}
@@ -208,6 +212,10 @@ public class SolrZkServer {
}
zkThread.interrupt();
}
+
+ static void ensureZkMaxCnxnsConfigured() {
+ System.getProperties().putIfAbsent(ZK_MAX_CNXNS_PROPERTY,
ZK_MAX_CNXNS_DEFAULT);
+ }
}
// Allows us to set a default for the data dir before parsing
diff --git
a/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
b/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
index 03b721330ec..373a2c8eb4d 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
@@ -483,6 +483,7 @@ public class ZkTestServer {
public void run(boolean solrFormat) throws InterruptedException, IOException
{
log.info("STARTING ZK TEST SERVER");
+ SolrZkServer.ensureZkMaxCnxnsConfigured();
ensureStatCommandWhitelisted();
AtomicReference<Throwable> zooError = new AtomicReference<>();