[ 
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:

    https://github.com/apache/zookeeper/pull/256

    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:

    https://github.com/apache/zookeeper/pull/256.patch

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 <[email protected]>
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
(v6.3.15#6346)

Reply via email to