Hi, The proposed standardization of property priority is a good improvement and looks clear to me.
One convenience issue I'd like to point out is that almost all command line tools currently define --bootstrap-server as a required command line argument. However if one needs to pass e.g. SSL for authentication related reasons any other configs, usually a config file is used. My proposal here is to make --bootstrap-server command line argument optional in all existing tools, and allow defining it from a config file if passed. As an example if kafka-broker-api-versions.sh --command-config my-kafka.properties is called with my-kafka.properties file including a line bootstrap.server=my-kafka:9092 the command will fail because it requires a command line argument for bootstrap server. Currently the tools do not allow loading it from a passed configuration file. This situation might apply currently to each command line tool shipped in bin/ as a shell script. Does that make sense? And does KIP need to list all those tools in the chapter "The following tools will be updated", or can these changes be done in addition to the KIP? On Tue, May 27, 2025 at 4:39 PM Chia-Ping Tsai <chia7...@apache.org> wrote: > hi Jack > > thanks for you to raise this mail. The priority of configs used by tool is > indeed a issue, and it needs a KIP to follow our compatibility policy. > > Fortunately, there is a new ticket having a WIP KIP [0][1] - and please > feel free to leave your comments on the ticket and KIP > > [0] https://issues.apache.org/jira/browse/KAFKA-10043 > [1] > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1137%3A+Standardize+Property+Loading+Priority > > Best, > Chia-Ping > > On 2025/05/26 13:05:23 Jack Thomasson wrote: > > in https://github.com/apache/kafka/pull/16492 i propose a simple change > > to CLI kafka-console-producer that reorders value settings as follow: > > > > 1. default > > 2. config file by --producer.config > > 3. --producer-property > > 4. required > > > > this fixes https://issues.apache.org/jira/browse/KAFKA-2526. values for > > key.serializer and value.serializer in particular are honored whereas > > previously they were overwritten due to incorrect order. > > > > > > :{)} > > >