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

Add integration testing ensuring that the reassignment tool can change replication quota with rebalance in progress

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.6.0
    • 2.7.0
    • core
    • None

    Description

      Previously we could use --execute with the --throttle option in order to change the quota of an active reassignment. We seem to have lost this with KIP-455. The code has the following comment:

          val reassignPartitionsInProgress = zkClient.reassignPartitionsInProgress()
          if (reassignPartitionsInProgress) {
            // Note: older versions of this tool would modify the broker quotas here (but not
            // topic quotas, for some reason).  This behavior wasn't documented in the --execute
            // command line help.  Since it might interfere with other ongoing reassignments,
            // this behavior was dropped as part of the KIP-455 changes.
            throw new TerseReassignmentFailureException(cannotExecuteBecauseOfExistingMessage)
          }
      

      Seems like it was a mistake to change this because it breaks compatibility. We probably have to revert. At the same time, we can make the intent clearer both in the code and in the command help output.

      (Edit: in KIP-455, we changed the behavior so that changes require quota changes require the --additional flag. So this issue is mostly about ensuring we have the integration testing to cover that behavior.)

      Attachments

        Issue Links

          Activity

            People

              hachikuji Jason Gustafson
              hachikuji Jason Gustafson
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: