zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-2785) Server inappropriately throttles connections under load before SASL completes
Date Wed, 17 May 2017 07:51:04 GMT

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-2785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16013687#comment-16013687

ASF GitHub Bot commented on ZOOKEEPER-2785:

GitHub user abhishek-chouhan opened a pull request:


    ZOOKEEPER-2785 Server inappropriately throttles connections under loa…

    …d before SASL completes

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/abhishek-chouhan/zookeeper ZOOKEEPER-2785

Alternatively you can review and apply these changes as the patch at:


To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #256
commit 52a1037ebe30ece519ee5c1cc6202d0c53235706
Author: Abhishek Singh Chouhan <abhishek.chouhan@salesforce.com>
Date:   2017-05-17T07:49:07Z

    ZOOKEEPER-2785 Server inappropriately throttles connections under load before SASL completes


> Server inappropriately throttles connections under load before SASL completes
> -----------------------------------------------------------------------------
>                 Key: ZOOKEEPER-2785
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2785
>             Project: ZooKeeper
>          Issue Type: Bug
>    Affects Versions: 3.4.10
>            Reporter: Abhishek Singh Chouhan
>            Priority: Critical
>             Fix For: 3.4.11
> When a zk server is running close to its outstanding requests limit, the server incorrectly
throttles the sasl request. This leads to the client waiting for the final sasl packet (session
is already established) and deferring all non priming packets till then which also includes
the ping packets. The client then waits for the final packet but never gets it and times out
saying haven't heard from server. This is fatal for services such as HBase which retry for
finite attempts and exit post these attempts.
> Issue being that in ZooKeeperServer.processPacket(..) incase of sasl we send the response
and incorrectly also call cnxn.incrOutstandingRequests(h), which throttles the connection
if we're running over outstandingrequests limit, which results in the server not processing
the subsequent packet from the client. Also we donot have any pending request to send for
the connection and hence never call enableRecv(). We should return after sending response
to the sasl request.

This message was sent by Atlassian JIRA

View raw message