[ https://issues.apache.org/jira/browse/ZOOKEEPER-974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16748968#comment-16748968 ]
Josh Elser commented on ZOOKEEPER-974: -------------------------------------- Thanks, [~andorm]. Didn't see any instructions on the website, so I went "old-fashioned" ;) > Configurable listen socket backlog for the client port > ------------------------------------------------------ > > Key: ZOOKEEPER-974 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-974 > Project: ZooKeeper > Issue Type: Improvement > Components: server > Affects Versions: 3.3.2 > Reporter: Hoonmin Kim > Assignee: Josh Elser > Priority: Minor > Attachments: ZOOKEEPER-974.001.master.patch, ZOOKEEPER-974.001.patch, > ZOOKEEPER-974.patch > > > We're running ZooKeeper ensemble(3-node configuration) for production use for > months. > Days ago, we suffered temporary network? problems that caused many > reconnections(about 300) of ephemeral nodes in one ZooKeeper server. > The almost all clients successfully reconnected to the other ZooKeeper > servers, > but one client failed to reconnect in time and got a session expired message > from the server. > (The problem is that our clients died when they got SessionExpired message.) > There were many listenQ overflows/drops and out resets in a minute just > before the problem situation. > --- > So we patched ZooKeeper to increase the backlog size for the client port > socket to avoid unhappy cases like this. > As ZooKeeper uses default backlog size(50) to bind(), we added > "clientPortBacklog" option. > Though the default backlog should be good for common environment, > we believe that configuring the size is also meaningful. > [Note] > On linux, below parameter : > net.core.somaxconn > needs to be larger than above "clientPortBacklog" to correctly configure > listen socket backlog -- This message was sent by Atlassian JIRA (v7.6.3#76005)