diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/NIOServerCnxnFactory.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/NIOServerCnxnFactory.java index 800b76f2ac9..5bf5c5a257a 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/NIOServerCnxnFactory.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/NIOServerCnxnFactory.java @@ -659,7 +659,7 @@ public void configure(InetSocketAddress addr, int maxcc, int backlog, boolean se ss.socket().setReuseAddress(true); LOG.info("binding to port {}", addr); if (listenBacklog == -1) { - ss.socket().bind(addr); + ss.socket().bind(addr, Integer.MAX_VALUE); } else { ss.socket().bind(addr, listenBacklog); } @@ -695,7 +695,7 @@ public void reconfigure(InetSocketAddress addr) { this.ss = ServerSocketChannel.open(); ss.socket().setReuseAddress(true); LOG.info("binding to port {}", addr); - ss.socket().bind(addr); + ss.socket().bind(addr, listenBacklog == -1 ? Integer.MAX_VALUE : listenBacklog); ss.configureBlocking(false); acceptThread = new AcceptThread(ss, addr, selectorThreads); acceptThread.start(); diff --git a/zookeeper-website/app/pages/_docs/docs/_mdx/admin-ops/administrators-guide/configuration-parameters.mdx b/zookeeper-website/app/pages/_docs/docs/_mdx/admin-ops/administrators-guide/configuration-parameters.mdx index 7606196b361..8086c41035b 100644 --- a/zookeeper-website/app/pages/_docs/docs/_mdx/admin-ops/administrators-guide/configuration-parameters.mdx +++ b/zookeeper-website/app/pages/_docs/docs/_mdx/admin-ops/administrators-guide/configuration-parameters.mdx @@ -430,8 +430,9 @@ property, when available, is noted below. the number of requests that will be queued server-side to be processed by the ZooKeeper server. Connections that exceed this length will receive a network timeout (30s) which may cause ZooKeeper session expiry issues. - By default, this value is unset (`-1`) which, on Linux, uses a backlog of - `50`. This value must be a positive number. + By default, this value is unset (`-1`) which, on Linux, is + net.core.somaxconn that defaults to 4096 since Linux 5.4. This value + must be a positive number. - _serverCnxnFactory_ : (Java system property: **zookeeper.serverCnxnFactory**)