zookeeper-dev mailing list archives

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

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

Michael Han updated ZOOKEEPER-2785:
    Component/s: server

> 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

View raw message