Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-3838

Async handling of quorum connection requests, including SSL handshakes

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.6.1, 3.5.8
    • None
    • None
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              symat Mate Szalay-Beko
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: