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

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.6.0
    • Fix Version/s: 2.7.0
    • Component/s: core
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: