+1 (binding)
> Luke Chen <[email protected]> 於 2026年3月12日 下午3:08 寫道:
> 
> I had another look. LGTM!
> 
> Thanks for the KIP.
> +1 (binding) from me.
> 
> Thank you,
> Luke
> 
>> On Tue, Apr 29, 2025 at 12:59 PM Kuan Po Tseng <[email protected]> wrote:
>> 
>> Hi Colin,
>> 
>> I just wanted to make sure I’m on the right track, so I’m sharing my
>> understanding of
>> the current process for adding a controller to the voter set.
>> 
>> Here's what I think it looks like:
>> Step 1: Use kafka-storage.sh format to format the controller.
>> Step 2: Start up the controller and ensure it starts up successfully.
>> Step 3: Provide the controller config and use the kafka-metadata-quorum.sh
>> add-controller command to add the controller to the voter set.
>> 
>> The KIP aims to simplify "Step 3". It removes the need to provide the
>> controller config,
>> as all the information that add-controller requires—like the directory UUID
>> and controller endpoint—
>> can be gathered through Admin#describeMetadataQuorum and
>> Admin#describeConfigs.
>> Since the controller is already in the cluster by Step 2, this information
>> should be available.
>> 
>> So, users would still need to complete "Step 1" and "Step 2".
>> Otherwise, as you mentioned, we won’t be able to retrieve the controller
>> UUID and its corresponding endpoints for Step 3.
>> 
>> I’m not sure if I’ve misunderstood anything, so please let me know if
>> there’s anything I’ve missed.
>> 
>> Thanks so much for reviewing my KIP!
>> 
>> Best regards,
>> Kuan-Po Tseng
>> 
>>> On Tue, Apr 29, 2025 at 8:50 AM Colin McCabe <[email protected]> wrote:
>>> 
>>> So to expand a bit on what I wrote below:
>>> 
>>> - If the goal is to make it possible to have adding the controller node
>>> happen in one place, and formatting the controller node happen in
>> another,
>>> those two places still need to communicate. What they need to communicate
>>> is the new directory ID. This is basically a random UUID that must never
>> be
>>> reused.
>>> 
>>> - The most obvious way to do that is to format the new controller node
>>> first, and then grab that ID. This is what the current system does, by
>>> reading that local file.
>>> 
>>> - Another way to do it would be to generate the UUID somewhere else, and
>>> then format using --initial-controllers. This currently requires spelling
>>> out the full set of controllers and matching directory ids in the
>> cluster.
>>> One thing that is a bit subtle is that the tool will actually look at
>> what
>>> directory ID you gave, and use that directory ID when formatting your
>>> directory. This should be documented a bit more prominently if we want
>>> people to use this mechanism.
>>> 
>>> best,
>>> Colin
>>> 
>>> 
>>> On Mon, Apr 28, 2025, at 13:21, Colin McCabe wrote:
>>>> Hi Kuan Po Tseng,
>>>> 
>>>> It is not possible to add a new controller purely by ID. You need
>>>> controller ID, directory ID, and controller endpoints.
>>>> 
>>>> These cannot be obtained through describeMetadataQuorum since that only
>>>> describes the existing quorum, not what you would like the new one to
>>>> be. Also, obviously, we never want to reuse an existing directory ID.
>>>> 
>>>> Therefore I will vote -1 on this pending further discussion.
>>>> 
>>>> best,
>>>> Colin
>>>> 
>>>> On Tue, Apr 22, 2025, at 08:56, Kuan Po Tseng wrote:
>>>>> Hello everyone,
>>>>> 
>>>>> I would like to start a vote on KIP-1141, thank you!
>>>>> 
>>>>> KIP: https://cwiki.apache.org/confluence/x/PZFEF
>>>>> Discussion thread:
>>>>> https://lists.apache.org/thread/mq5n8j8w0ycg9fhd1m4zcc2ctrgfd0d4
>>>>> 
>>>>> Best,
>>>>> Kuan-Po Tseng
>>> 
>> 

Reply via email to