Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-17241 KIP-853 follow-ups
  3. KAFKA-17147

Improve KRaft add voter handling to tolerate waiting for delayed operations

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • kraft
    • None

    Description

      The current implementation for AddVoter returns an REQUEST_TIMED_OUT error anytime it needs to wait for an invariant to be satisfied. From https://cwiki.apache.org/confluence/display/KAFKA/KIP-853%3A+KRaft+Controller+Membership+Changes#KIP853:KRaftControllerMembershipChanges-Handling.3:

       

      1. Wait until there are no uncommitted VotersRecord. Note that the implementation may just return a REQUEST_TIMED_OUT error if there are pending operations.
      2. Wait for the LeaderChangeMessage control record from the current epoch to get committed. Note that the implementation may just return a REQUEST_TIMED_OUT error if there are pending operations.
      3. ...

      This algorithm could be improved to wait for the invariant to become true instead of returning a timeout immediately. 

      Attachments

        Activity

          People

            jsancio José Armando García Sancio
            jsancio José Armando García Sancio
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: