If we implement the topic-level validation first, we will run into the same 
backward compatibility issues. I will start a KIP shortly to address the 
validation constraints holistically 

> Jun Rao via dev <[email protected]> 於 2026年2月28日 凌晨2:27 寫道:
> 
> Hi, Chia-Ping,
> 
> Thanks for the proposal. It could work. Do you want to flesh that out as a
> separate KIP?
> 
> What's your suggestion for https://issues.apache.org/jira/browse/KAFKA-20107?
> Should we implement it before or after your proposal is in place?
> 
> Thanks,
> 
> Jun
> 
> 
> 
>> On Thu, Feb 19, 2026 at 12:03 AM Chia-Ping Tsai <[email protected]> wrote:
>> 
>> A rough idea is that we could add a tagged field to the broker
>> registration to contain the static properties that have validators in their
>> config definition. The goal is to empower the controller to do more
>> validation before approving the upgrade
>> 
>>> On 2026/02/17 19:28:08 Jun Rao via dev wrote:
>>> Hi, Chia-Ping,
>>> 
>>> Thanks for the reply.
>>> 
>>> I am not sure about the MV approach. For example, a user could set
>>> `segment.bytes` through a static config file. How will MV work in that
>> case?
>>> 
>>> Jun
>>> 
>>> On Sun, Feb 15, 2026 at 12:17 AM Chia-Ping Tsai <[email protected]>
>> wrote:
>>> 
>>>> Hi, Jun
>>>> 
>>>> I prefer to ensure users are aware of what happens with their
>>>> configuration. Clamping seems to hide the actual behaviour from users,
>>>> which may lead to potential issues.
>>>> 
>>>> Here is a crazy idea: what if the validation is bound to the MV?
>>>> 
>>>> For example, `segment.bytes` could have different lower bounds for 4.0
>> and
>>>> 4.1. This allows users to safely keep the smaller value while
>> upgrading the
>>>> binary files. However, they must update the configurations to meet the
>> new
>>>> requirement before bumping the MV. Otherwise, they will receive an
>> error
>>>> when calling `updateFeatures`
>>>> 
>>>> This approach not only offers a smooth upgrade path bug also ensures
>> the
>>>> final cluster state adheres to the strict validation rules once the MV
>> is
>>>> updated.
>>>> 
>>>> WDYT?
>>>> 
>>>> Best,
>>>> Chia-Ping
>>>> 
>>>> On 2026/02/09 17:08:19 Jun Rao via dev wrote:
>>>>> Hi, Chia-Ping,
>>>>> 
>>>>> Thanks for the reply. Do you agree that it's better to use the
>> clamping
>>>>> approach for segment.bytes ?
>>>>> 
>>>>> Jun
>>>>> 
>>>>> On Tue, Feb 3, 2026 at 11:15 AM Chia-Ping Tsai <[email protected]>
>>>> wrote:
>>>>> 
>>>>>> hi Jun
>>>>>> 
>>>>>> I agree that we should apply reasonable strategies for different
>>>> `breaking
>>>>>> changes`. This makes ensuring that the initialization process sees
>> the
>>>>>> 'latest' configs even more critical. It is otherwise hard to
>> guarantee
>>>> that
>>>>>> the broker fails at the appropriate time when a `fail-fast` policy
>> is
>>>>>> intended
>>>>>> 
>>>>>> Best,
>>>>>> Chia-Ping
>>>>>> 
>>>>>> On 2026/01/30 22:13:00 Jun Rao via dev wrote:
>>>>>>> Hi, Chia-Ping,
>>>>>>> 
>>>>>>> Thanks for following up on this.
>>>>>>> 
>>>>>>> To me, there are two categories of changes. The first type
>> involves
>>>>>> changes
>>>>>>> that always benefit the user. An example is segment.bytes since
>>>> there is
>>>>>> no
>>>>>>> good reason for a user to ever set it to less than 1MB. In this
>>>> case, one
>>>>>>> option is to automatically clamp the value to the new lower bound
>>>> without
>>>>>>> failing. This is probably best for users because they get better
>>>>>>> configuration and compatibility. This is essentially the approach
>>>> that we
>>>>>>> followed in KIP-1161 for handling duplicates in the List config.
>> The
>>>>>> second
>>>>>>> category includes changes where disallowed values may impact a
>> user's
>>>>>>> intention. An example is segment.ms (change not implemented
>> yet, but
>>>>>>> targeted for 5.0). A user may intentionally set it to a really
>> small
>>>>>> value
>>>>>>> to control the retention time. In this case, it's probably
>> better to
>>>> fail
>>>>>>> the broker with an invalid config error so that the users know
>> about
>>>> it.
>>>>>>> 
>>>>>>> Jun
>>>>>>> 
>>>>>>> 
>>>>>>> On Wed, Nov 19, 2025 at 11:18 AM Chia-Ping Tsai <
>> [email protected]
>>>>> 
>>>>>> wrote:
>>>>>>> 
>>>>>>>> hi all
>>>>>>>> 
>>>>>>>> There was a long discussion about compatibility after
>> increasing
>>>> the
>>>>>> lower
>>>>>>>> bound (
>>>>>> https://github.com/apache/kafka/pull/20334#discussion_r2538011530
>> ).
>>>>>>>> 
>>>>>>>> In summary, increasing the lower bound results in the following
>>>> issues:
>>>>>>>> 
>>>>>>>> 1) Static configurations created before KIP-1030 cause the
>> broker
>>>> to
>>>>>> fail.
>>>>>>>> For example, setting log.segment.bytes=1000 will now encounter
>> a
>>>>>> validation
>>>>>>>> error due to the new lower bound when starting the updated
>> broker.
>>>>>>>> 
>>>>>>>> 2) Dynamic configurations created before KIP-1030 cannot be
>> applied
>>>>>> due to
>>>>>>>> validation errors.
>>>>>>>> 
>>>>>>>> Personally, I believe users should be explicitly aware of
>> breaking
>>>>>>>> changes. Therefore, I suggest forcing the broker to fail when
>>>>>> initializing
>>>>>>>> the metadata publisher if the dynamic configuration cannot be
>>>> applied.
>>>>>>>> 
>>>>>>>> A softer approach is to use warnings instead of fatal errors.
>> The
>>>>>> broker
>>>>>>>> would proceed smoothly, but users might be unaware of the
>> breaking
>>>>>> changes,
>>>>>>>> and the broker would run with unexpected configurations.
>>>>>>>> 
>>>>>>>> Any feedback is welcome.
>>>>>>>> 
>>>>>>>> Best,
>>>>>>>> Chia-Ping
>>>>>>>> 
>>>>>>>> On 2024/11/18 10:13:41 Divij Vaidya wrote:
>>>>>>>>> Hey folks
>>>>>>>>> 
>>>>>>>>> With 4.0, we have an opportunity to reset the default values
>> and
>>>> add
>>>>>>>>> constraints in the configurations based on our learnings
>> since
>>>> 3.0.
>>>>>>>>> 
>>>>>>>>> Here's a KIP which modifies defaults for some properties and
>>>>>> modifies the
>>>>>>>>> constraints for a few others.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>> 
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1030%3A+Change+constraints+and+default+values+for+various+configurations
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Looking forward for your feedback.
>>>>>>>>> 
>>>>>>>>> (Previous discussion thread on this topic -
>>>>>>>>> 
>> https://lists.apache.org/thread/3dx9mdmsqf8pko9xdmhks80k96g650zp
>>>> )
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 

Reply via email to