hi Rich Headers is a sub class of Iterable<Header> already, so changing the type from Headers to Iterable<Header> does not make code complicated :)
The point is “should we pass a mutable interface to users in those callback function?” IMHO, the answer is NO. Best, Chia-Ping > > Rich C. <chenjy.r...@gmail.com> 於 2024年8月23日 上午8:26 寫道: > > Hi Chia-Ping, > > I initially considered `Iterable<Header>`, but eventually went with > `Headers`. Because ProducerRecord.headers() > <https://kafka.apache.org/38/javadoc/org/apache/kafka/clients/producer/ProducerRecord.html#headers()> > type is `Headers`. > > Regards, > Rich > > >> On Thu, Aug 22, 2024 at 4:50 PM Chia-Ping Tsai <chia7...@apache.org> wrote: >> >> hi Rich >> >> Sorry for late response. I have just one comment: >> >> Have we consider replacing `Headers` by `Iterable<Header>`? There are some >> disadvantages of using `Headers`: >> >> 1. `Headers` have many setters and they are meaningless to users. >> 2. If users do want to modify `Headers`, they can get inconsistent results >> as `Headers` can be either readonly of modifiable. >> >> Best, >> Chia-Ping >> >>> On 2024/07/23 03:13:59 "Rich C." wrote: >>> Hi Everyone, >>> >>> I hope this email finds you well. >>> >>> I would like to start a discussion on KIP-512. The initial version of >>> KIP-512 was created in 2019, and I have resurrected it in 2024 with more >>> details about the motivation behind it. >>> >>> You can view the current version of the KIP here: KIP-512: Make Record >>> Headers Available in onAcknowledgement. >>> < >> https://cwiki.apache.org/confluence/display/KAFKA/KIP-512%3A+make+Record+Headers+available+in+onAcknowledgement >>> >>> >>> Let's focus on discussing the necessity of this feature first. If we >> agree >>> on its importance, we can then move on to discussing the proposed >> changes. >>> >>> Looking forward to your feedback. >>> >>> Best regards, >>> Rich >>> >>