Hi Luke,

Appreciate the feedback — glad to finally see some voices in this thread! :)

*L01, L02:*
Sure thing!

*L03:*
Thanks for the heads-up — I hadn’t thought of that before.
In KAFKA-19563, you mentioned introducing a new
--add-controller-command-config option to separate admin and
controller configs. That sounds like a solid approach.

That said, I was thinking of an alternative:
what if we change the logic so that *when both* --command-config
*and* --controller-id are provided, the command config only applies
to admin initialization? Users can add extra admin properties in
--command-config.

What do you think?

*L04:*
Yeah, I agree — to make things easier, we could enhance the logic.
If the user provides --bootstrap-server, we can retrieve
controller.quorum.bootstrap.servers from the broker configs
using admin.describeConfigs, and use that to get the required
controller configs.

Then we could allow users to run something like:

bin/kafka-metadata-quorum.sh --bootstrap-server localhost:9092 \
  add-controller --controller-id <id>


Best,
Kuan-Po

On Thu, Jul 31, 2025 at 3:24 PM Luke Chen <show...@gmail.com> wrote:

> Hi Kuan-Po,
>
> Thanks for the KIP!
> We also faced the similar issue recently.
>
> Some suggestions/questions:
> 1. Could you also include the issue in  KAFKA-19563
> <https://issues.apache.org/jira/browse/KAFKA-19563> as the motivation in
> the KIP?
> 2. Could you make it clear in the KIP that after the KIP, the
> add-controller request from kafka-metadata-quorum.sh will take more time
> than before because of more API calls needed?
> 3. "If —-command-config is provided, fallback to the existing behavior, and
> —-controller-id option will be ignored."
> On this, it looks like it still doesn't resolve the issue described in
> KAFKA-19563 <https://issues.apache.org/jira/browse/KAFKA-19563> because if
> the client wants to pass the "client.id", and provide a properties file in
> --command-config, it 'll be treated as the controller.properties and fail
> the request, right? Ex:
> `bin/kafka-metadata-quorum.sh --bootstrap-controller localhost:9093
> add-controller --controller-id <id> --command-config admin.properties`
> 4. "This can only be done with bootstrap controller option since we can‘t
> use bootstrap.server in Admin#describeConfigs to get controller configs."
> I understand the reason but it makes the script more confusing in my
> opinion.
> I'm wondering why we need the controller endpoint when talking with the
> broker with --bootstrap-server? The controller endpoint should already
> exist in broker itself, right?
>
> Thank you.
> Luke
>
> On Sat, Apr 19, 2025 at 11:32 PM Kuan Po Tseng <brandb...@apache.org>
> wrote:
>
> > Hi José,
> >
> > Apologies for the delayed response. Do you still have any questions
> > regarding the describeConfig part? As Chia-Ping mentioned, we are able to
> > retrieve all broker configurations through that method. (
> >
> https://github.com/apache/kafka/blob/da46cf6e79afbbed1da2bae831e0f70992e85f9b/core/src/main/scala/kafka/server/ConfigHelper.scala#L121-L123
> > )
> >
> > Please feel free to reach out if you have any further questions or need
> > clarification. Thank you again for your valuable feedback!
> >
> > Best,
> > Kuan-Po Tseng
> >
> > On 2025/04/03 16:04:36 José Armando García Sancio wrote:
> > > Hi Chia,
> > >
> > > On Thu, Apr 3, 2025 at 10:24 AM Chia-Ping Tsai <chia7...@apache.org>
> > wrote:
> > > > We propose to use `Admin#describeConfigs` to get the configs for
> > specific controller if the bootstrap.controllers is configured. This
> > approach is similar to what `MetadataQuorumCommand` does, and the
> > difference is `MetadataQuorumCommand` read those configs from local file
> > and this KIP gets those configs by `Admin#describeConfigs`
> > >
> > > I am not sure. I have to look at that code but doesn't
> > > "Admin#describeConfigs" only return dynamic configuration for the
> > > controller? Most users configure the controller using the server
> > > properties file. My current understanding is that values coming from
> > > the properties file won't show up in Admin#describeConfigs.
> > >
> > > Thanks,
> > > --
> > > -José
> > >
> >
>

Reply via email to