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

Hudson commented on ZOOKEEPER-2785:
-----------------------------------

FAILURE: Integrated in Jenkins build ZooKeeper-trunk #3394 (See 
[https://builds.apache.org/job/ZooKeeper-trunk/3394/])
ZOOKEEPER-2785: Server inappropriately throttles connections under loa… (hanm: 
rev 0a3e2d1d4bdbb96f41da7111db3913ef08068722)
* (edit) src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java


> 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
>          Components: server
>    Affects Versions: 3.4.10
>            Reporter: Abhishek Singh Chouhan
>            Priority: Critical
>              Labels: sasl
>             Fix For: 3.5.4, 3.6.0, 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