Luke Chen created KAFKA-19563: --------------------------------- Summary: Separate the controller config and admin config when add controller Key: KAFKA-19563 URL: https://issues.apache.org/jira/browse/KAFKA-19563 Project: Kafka Issue Type: Improvement Reporter: Luke Chen
Currently, when adding a controller via CLI, we have to run: {code:java} $ bin/kafka-metadata-quorum.sh --command-config config/controller.properties --bootstrap-server localhost:9092 add-controller or $ bin/kafka-metadata-quorum.sh --command-config config/controller.properties --bootstrap-controller localhost:9093 add-controller{code} The controller.properties file is expected to be the controller property file that to be added. But if we want to pass configs to the admin client, what can we do? {code:java} bin/kafka-metadata-quorum.sh --help usage: kafka-metadata-quorum [-h] [--command-config COMMAND_CONFIG] (--bootstrap-server BOOTSTRAP_SERVER | --bootstrap-controller BOOTSTRAP_CONTROLLER) {describe,add-controller,remove-controller} ...This tool describes kraft metadata quorum status. ... --command-config COMMAND_CONFIG Property file containing configs to be passed to Admin Client. For add-controller, the file is used to specify the controller properties as well.{code} As this help output said, the "--command-config" can pass configs to admin client, but when add controller, it is also used as controller property file. For example, we want to set the "client-id" to the admin client, when doing the add-controller, we have to add one more line in the controller.properties file: {code:java} client.id=test-admin-client{code} This is not ideal to ask users to mix the client config into the controller config. Maybe we can consider to add one more "--add-controller-command-config" for add controller use, or ask users to explicitly pass the controller id, dir UUID, ... like remove-controller did, but the controller advertised listener value might be a little complicated for users. -- This message was sent by Atlassian Jira (v8.20.10#820010)