Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-13696

Topic partition leader should always send AlterPartition when transitioning from RECOVERING TO RECOVERED

    XMLWordPrintableJSON

Details

    • Task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      When becoming the leader of a RECOVERING partition the partition leader should model that transition from RECOVERING to RECOVERED has not been committed to the active controller and that it should always attempt to send an AlterPartition request when performing this transition. This uncommitted state has the following state space:

      (Expanding ISR OR Shrinking ISR) AND Pending Recovered

      This can be model using sum and product types. E.g.

      case class State(
       val pendingIsrChange: Option[Either[ExpandingISR, Shrink]
       val pendingLeaderRecoveryStateChange: boolean // Can only transition from RECOVERING to RECOVERED
      )

      There are no pending changes if pendingIsrChange.isEmpty && !pendingRecoveryChange is true.

      Attachments

        Issue Links

          Activity

            People

              jagsancio Jose Armando Garcia Sancio
              jagsancio Jose Armando Garcia Sancio
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: