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 6355431c40cfb16f63e3208739f7b52ed49ba4f0
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<>();

Reply via email to