...
CLUSTER_AUTHORIZATION_FAILED
(31) Authorization failed- POLICY_VIOLATION(44) The request violated the configured policy
INVALID_TOPIC_EXCEPTION
(17) If the topic doesn't existUNKNOWN_MEMBER_ID
(25) If any broker ids in the partition_reassignments included an unknown broker idINVALID_REQUEST
(42) If duplicate topics appeared in the requestPARTITION_REASSIGNMENT_IN_PROGRESS
(new) If the reassignment cannot be started because a reassignment is currently running (i.e. the/admin/reassign_partitions
znode exists)INVALID_REPLICA_ASSIGNMENT
(39) If a partition, replica or broker id in the partition_assignment doesn't exist or is incompatible with the requested num_partitions and /or replication_factor. The error_message would contain further information.NONE
(0) reassignment has started
AdminClient: describeConfigs() and alterConfigs()
Anchor | ||||
---|---|---|---|---|
|
- A previous call to
reassignPartitions()
has been made and the user wants to apply or change the throttle. - A previous call to
reassignPartitions()
is complete and the user wants to remove the throttle.
Inter-broker throttling is implemented via DynamicConfig
s on the broker :
leader.replication.throttled.rate
follower.replication.throttled.rate
DynamicConfig
s are (DynamicConfig
s are configs "which have no physical manifestation in the server.properties and can only be set dynamically"):
leader.replication.throttled.rate
follower.replication.throttled.rate
(And via normal topic configs :leader.replication.throttled.replicas
...
and follower.replication.throttled.replicas
)
The alterConfigsdescribeConfigs()
API already exists, but doesn't current include Broker DynamicConfig
s in its results. The describeConfigs()
API will therefore be changed to allow altering DynamicConfig
s in order to support the following use cases:
- A previous call to
reassignPartitions()
has been made and the user wants to apply or change the throttle. - A previous call to
reassignPartitions()
is complete and the user wants to remove the throttle.
include broker DynamicConfigs in its output.
The alterConfigs()
API already exists, but doesn't currently support changing broker configs (dynamic or otherwise). The alterConfigs()
API will therefore be changed to allow altering DynamicConfig
s. This KIP does not propose to support altering broker configs that are not DynamicConfig
s.
This will involve changing the API docdocs of these methods in the AdminClient.
Network Protocol:
...
(Describe|Alter)Configs(Request|Response)
Thes protocols already existThis protocol already exists, but support will be added for describing and altering broker DynamicConfigs, as described above for the corresponding AdminClient methods. The network format will not need to change, but the AlterConfigsResponse
will (when the request attempts to alter broker configs) be able to fail with a new error code : (CLUSTER_AUTHORIZATION_FAILED
) when the request attempts to alter broker configs.
Compatibility, Deprecation, and Migration Plan
...