Configurable backlog size for the ServerSocket
----------------------------------------------

                 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
            Priority: Minor


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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to