Hello everyone, I’ve submitted an updated version of this KIP based on recent discussions. I'm happy to hear any further concerns or suggestions you might have.
<https://cwiki.apache.org/confluence/x/mIuMEw> Best Regards, Jiunn-Yang > 黃竣陽 <s7133...@gmail.com> 於 2025年4月22日 下午6:35 寫道: > > Hello, > > Thank for the feedback. I will address this new/deprecated mechanism in the > updated version of the KIP. > > Best Regards, > Jiunn-Yang > >> Chia-Ping Tsai <chia7...@gmail.com> 於 2025年4月22日 中午12:58 寫道: >> >> 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 >>>> >>>> >