hi Matthias

Thanks for offering this approach. I had considered proposing it before. My 
concern was the  new/deprecated config is used by client, so it could cause a 
bunch of warning messages by default. Also, users have to add the 
new/deprecated config to each client properties if they want to eliminate the 
noise.

However, as Juma mentioned that the approach was applied by another KIP before, 
so +1 to the new/deprecated config.

To Ken

Could you please update the KIP to include the new config? Additionally, please 
add the other discussed approaches to the “rejected” section.

Best,
Chia-Ping




> Ismael Juma <m...@ismaeljuma.com.invalid> 於 2025年4月22日 上午11:03 寫道:
> 
> That's right. Similar approach:
> https://lists.apache.org/thread/3fxqdsosm3z7xp4rr8db2qmyg5vd0v1b
> 
> Ismael
> 
>> On Mon, Apr 21, 2025, 7:43 PM Matthias J. Sax <mj...@apache.org> wrote:
>> 
>> I don't think we would need a second deprecation cycle.
>> 
>> Instead, we could add this new config, and deprecate it right away. This
>> way, we can change the default behavior and remove the config both with
>> 5.0.
>> 
>> I guess the core question is really, do we want to enable the old or new
>> behavior by default? From a backward compatibility POV, we would need to
>> keep the old behavior as default IMHO.
>> 
>> If we can agree to this, the way forward might be:
>> 
>>  - keep the old behavior as default
>>  - add a config that allows to enable the new behavior
>>  - if use don't enable the new behavior, log a WARN telling them that
>> they need to migrate their code before 5.0 and encourage them to enable
>> the new behavior right away
>>  - deprecate the new config right away
>>  - remove the config and old behavior in 5.0
>> 
>> 
>> I admit, that adding a new config, and deprecating it, plus telling
>> users "please use this new/deprecated config", is a little bit awkward
>> -- but it seems to be still the overall best way forward IMHO?
>> 
>> 
>> 
>> -Matthias
>> 
>>> On 4/17/25 8:16 PM, Chia-Ping Tsai wrote:
>>> hi Kirk
>>> 
>>> “coarsely grained” is a good point. We need to list all behaviors
>> impacted by the config - no matter which new config we adopted.
>>> 
>>> Maybe we can add the flag to xxxOption? The benefit is users can
>> explicitly see “which” APIs are impacted. The downside is the number of
>> deprecated methods in 5.0 is increased
>>> 
>>> Best,
>>> Chia-Ping
>>> 
>>>> Kirk True <k...@kirktrue.pro> 於 2025年4月18日 清晨7:16 寫道:
>>>> 
>>>> Hi Colin,
>>>> 
>>>> If so, is 5.0 the earliest this 'allow.nulls.in.consumer' configuration
>> can be changed and marked as deprecated? And if that holds, is 6.0 the
>> earliest it can be removed?
>>>> 
>>>> Thanks,
>>>> Kirk
>>>> 
>>>>> On Mon, Apr 14, 2025, at 1:10 PM, Colin McCabe wrote:
>>>>> I would suggest adding a configuration key which controls whether the
>> null values are added. That configuration key can default to true in 4.x
>> and false in 5.x. This will give people a chance to test the new behavior
>> before 5.x.
>>>>> best,
>>>>> Colin
>>>>>> On Fri, Mar 14, 2025, at 04:30, 黃竣陽 wrote:
>>>>>> Hello everyone,
>>>>>> I would like to start a discussion on KIP-1140: Avoid to return null
>>>>>> value in Map from public api of consumer
>>>>>> <https://cwiki.apache.org/confluence/x/mIuMEw>
>>>>>> This proposal aims to improve the Kafka consumer API by ensuring that
>>>>>> the Map it returns contains only non-null values,
>>>>>> aligning with the design philosophy of Java collections. This change
>>>>>> provides significantly more benefits than drawbacks,
>>>>>> enhancing API consistency and usability while reducing errors caused
>> by
>>>>>> developer misuse.
>>>>>> Best Regards,
>>>>>> Jiunn-Yang
>> 
>> 

Reply via email to