Hello Ismael, Thanks for your comments.
**Q1:** I believe this change should be introduced in Kafka 5.0. I will include a note about this in the KIP. **Q2, Q3:** Although these methods are not explicitly mentioned, they currently return null. While tracing the code, I found that null is returned when the timeout is set to zero, causing the method to return an empty result immediately. (ListOffsetEvent#emptyResults) Regardless of whether the existing JavaDoc mentions returning null, I believe this behavior should be explicitly documented, along with a note stating that it will be removed in Kafka 5.0. I will also address this in the KIP. Best Regards, Jiunn-Yang > Ismael Juma <m...@ismaeljuma.com> 於 2025年3月20日 凌晨4:45 寫道: > > Hi, > > Thanks for the KIP. A few comments: > > 1. Incompatible changes are generally not allowed in minor releases. Are > you proposing a change for a minor release (eg 4.1) or for a major release > (5.0)? > 2. Given that clients in 4.0 support brokers with version 2.1 or higher, > `offsetsForTimes` should never return maps with `null` values (check the > javadoc for the details of when this happens). We can perhaps consider this > a documentation fix (versus a behavior change). > 3. The other methods specified in the `public interfaces` section don't > specify if the returned maps can contain `null`. Can they? If so, we should > make that clear in the KIP along with the details of how we intend to make > the change in a compatible way. > > Thanks, > Ismael > > On Fri, Mar 14, 2025 at 4:31 AM 黃竣陽 <s7133...@gmail.com> 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