Mate Szalay-Beko created ZOOKEEPER-3838:
-------------------------------------------

             Summary: Async handling of quorum connection requests, including 
SSL handshakes
                 Key: ZOOKEEPER-3838
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3838
             Project: ZooKeeper
          Issue Type: Improvement
    Affects Versions: 3.5.8, 3.6.1
            Reporter: Mate Szalay-Beko


We are facing issues when the leader election takes too long, as the connection 
initiation between quorum members takes too much time when QuorumSSL is used.

In the current implementation, we handle the connection requests (and SASL 
authentications) asynchronously when QuorumSASL is enabled. However, the 
asynchronous handling will not be enabled if only QuorumSSL is enabled (but 
QuorumSASL is disabled). And anyway, as far as I can see, the SSL handshake 
happens before the current asynchronous part.

See: 
https://github.com/apache/zookeeper/blob/a908001be9641d78040b1954acb0cd3a8e9e42c2/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumCnxManager.java#L1058

The goal would be to move the SSL handshake to the asynchronous code part, and 
also to make the connection request handling always asynchronous regardless of 
the QuorumSASL / QuorumSSL configs.

Please note, we already did this for the connection initiation part in 
ZOOKEEPER-3756.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to