Re: [VOTE] KIP-953: partition method to be overloaded to accept headers as well.

2023-08-26 Thread Ismael Juma
A more concrete question: did we consider having the method `partition` take `ProduceRecord` as one of its parameters and `Cluster` as the other? Ismael On Sat, Aug 26, 2023 at 12:50 PM Greg Harris wrote: > Hey Ismael, > > > The mention of "runtime" is specific to Connect. When it comes to > cl

Re: [VOTE] KIP-953: partition method to be overloaded to accept headers as well.

2023-08-26 Thread Greg Harris
Hey Ismael, > The mention of "runtime" is specific to Connect. When it comes to clients, one typically compiles and runs with the same version or runs with a newer version than the one used for compilation. This is standard practice in Java and not something specific to Kafka. When I said "older

Re: [VOTE] KIP-953: partition method to be overloaded to accept headers as well.

2023-08-26 Thread Ismael Juma
Hi Greg, The mention of "runtime" is specific to Connect. When it comes to clients, one typically compiles and runs with the same version or runs with a newer version than the one used for compilation. This is standard practice in Java and not something specific to Kafka. With regards to the Admi

Re: [VOTE] KIP-953: partition method to be overloaded to accept headers as well.

2023-08-26 Thread Greg Harris
Hey Ismael, Thank you for clarifying where the DTO pattern is used already, I did not have the admin methods in mind. > With the DTO approach, you don't create a new DTO, you simply add a new > overloaded constructor and accessor to the DTO. With this variant, partitioner implementations would

[DISCUSS] KIP-971 Expose replication-offset-lag MirrorMaker2 metric

2023-08-26 Thread Elxan Eminov
Relatively minor change with a new metric for MM2 https://cwiki.apache.org/confluence/display/KAFKA/KIP-971%3A+Expose+replication-offset-lag+MirrorMaker2+metric

Re: [VOTE] KIP-953: partition method to be overloaded to accept headers as well.

2023-08-26 Thread Ismael Juma
Hi Greg, The point is that the approach proposed here introduces complexity forever. Each new user of this interface that needs access to the parameters not exposed originally needs to implement the abstract method with an empty implementation and it needs to override whichever additional default