[
https://issues.apache.org/jira/browse/ZOOKEEPER-2785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Han updated ZOOKEEPER-2785:
-----------------------------------
Labels: sasl (was: )
> 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.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)