You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2019/01/21 23:16:00 UTC

[jira] [Assigned] (ZOOKEEPER-974) Configurable listen socket backlog for the client port

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Josh Elser reassigned ZOOKEEPER-974:
------------------------------------

    Assignee: Josh Elser

Looks like this one was a little stale, but still relevant. [~gopalv] ran into it over in Hive.

I've taken the liberty of rebasing Hoonmin's patch onto branch-3.4.

> 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.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)