...
Config name | Type | Default | Valid values | Importance | Dynamic update mode | Description |
---|---|---|---|---|---|---|
reassignment.max.concurrent.leader.movements | int | Int.MAX | [1,...] | medium | cluster-wide | This new configuration would tell how many replicas of a single partition can be moved at once. |
reassignment.max.concurrent.partition.countmovements | int | Int.MAX | [1,...] | medium | cluster-wide | This configuration puts an upper limit on how many partition reassignments can be run concurrently. To calculate the sum of concurrent movements one can multiply this config by |
reassignment.max.concurrent.replica.countmovements | int | Int.MAX | [1,...] | medium | clusterper-widepartition | This one puts an upper limit on concurrent leader replica movements. It is useful to reduce the controller burden on big reassignments. |
...
We will add a field to the `ListPartitionReassignmentsResponse` protocol (added by KIP-455) that will extend the response with the current reassignment batch. We don't need to change the protocol version as long as the two KIPs are released together in the same version'll increment the API version of this protocol with this change.
Code Block | ||
---|---|---|
| ||
{ "apiKey": 46, "type": "response", "name": "ListPartitionReassignmentsResponse", "validVersions": "0-1", "fields": [ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." }, { "name": "ErrorCode", "type": "int16", "versions": "0+", "about": "The top-level error code, or 0 on success." }, { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+", "about": "The top-level error message, or null on success." }, { "name": "Topics", "type": "[]OngoingTopicReassignment", "versions": "0+", "about": "The ongoing reassignments for each topic.", "fields": [ { "name": "Name", "type": "string", "versions": "0+", "about": "The topic name." }, { "name": "Partitions", "type": "[]OngoingPartitionReassignment", "versions": "0+", "about": "The ongoing reassignments for each partition.", "fields": [ { "name": "PartitionId", "type": "int32", "versions": "0+", "about": "The partition ID." }, { "name": "CurrentBrokers", "type": "[]int32", "versions": "0+", "about": "The broker IDs which the partition is currently assigned to." }, { "name": "TargetBrokers", "type": "[]int32", "versions": "0+", "about": "The broker IDs which the partition is being reassigned to." } ]} ]}, { "name": "Topics", "type": "[]CurrentTopicReassignmentBatch", "versions": "01+", "about": "The currently executed reassignment batch.", "fields": [ { "name": "Name", "type": "string", "versions": "01+", "about": "The topic name." }, { "name": "Partitions", "type": "[]CurrentPartitionReassignmentBatch", "versions": "01+", "about": "The current reassignments for each partition.", "fields": [ { "name": "PartitionId", "type": "int32", "versions": "01+", "about": "The partition ID." }, { "name": "CurrentBrokers", "type": "[]int32", "versions": "01+", "about": "The broker IDs which the partition is currently assigned to." }, { "name": "TargetBrokers", "type": "[]int32", "versions": "01+", "about": "The broker IDs which the partition is being reassigned to." } ]} ]} ] } |
...