...
If a new client version that supports this option tries to set it on a Kafka broker with an old version that doesn't support this option, we want to throw an exception.
To enforce this, we will add a client-side validation of a minimum request version of (1)
in the request builder in the admin client. This results in the client throwing an UnsupportedVersionException("The broker does not support ALTER_PARTITION_REASSIGNMENTS with version in range [1, 1]. The supported range is [0, 0].")
. We will modify this exception to have explicit wording about the unsupported AllowReplicationFactorChange option in order to make it clear to the user what's causing the error (e.g "The broker does not support the AllowReplicationFactorChange option for the AlterPartitionReassignments API. Consider re-sending the request without the option or updating the server version")
This client-side validation will only be performed when the option (allowReplicationFactorChange) is set to a non-default value (false).
...