Hi Francois,You can open a PR and people can review it, but it must not be merged until the KIP is approved.
Best, Bruno On 09.05.22 16:07, François Rosière wrote:
Can a PR be dropped on Github or do we still need some approval first? Le dim. 8 mai 2022 à 06:08, John Roesler <vvcep...@apache.org> a écrit :Thanks, François! Those changes look good to me. Thanks, -John On Fri, May 6, 2022, at 13:51, François Rosière wrote:The KIP has been updated to reflect the last discussionhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=211882578#KIP832:Allowcreatingaproducer/consumerusingaproducer/consumerconfig-ProposedChangesLe ven. 6 mai 2022 à 20:44, François Rosière <francois.rosi...@gmail.com>aécrit :Hello, No problem to also add a constructor taking the StreamsConfig in the TopologyTestDriver. Summary about the changes to apply: - Create 2 new constructors in KafkaProducer - Create a new constructor in KafkaConsumer and increase devisibilityof an existing one - Create a new constructor in TopologyTestDriver Kr, F. Le ven. 6 mai 2022 à 16:57, John Roesler <vvcep...@apache.org> a écrit:Thanks for the KIP, François! I'm generally in favor of your KIP, since you're proposing to follow the existing pattern of the constructors for both Producer and Consumer, but with the config object instead of Properties or Map configs. Also, because we already have this pattern in Streams, and we are just extending it to Producer and Consumer. Following on the KIP-378 discussion, I do still think this is somewhat of an abuse of the Config objects, and it would be better to have a formal dependency injection interface, but I also don't want to let perfect be the enemy of good. Since it looks like this approach works, and there is also some precedent for it already, I'd be inclined to approve it. Since KIP-378 didn't make it over the finish line, and it seems like a small expansion to your proposal, do you mind also adding the StreamsConfig to the TopologyTestDriver constructors? That way, we can go ahead and resolve both KIPs at once. Thank you, -John On Fri, May 6, 2022, at 06:06, François Rosière wrote:To stay consistent with existing code, we should simply add 2constructors.One with ser/deser and one without. So that, users have the choice to use one or the other. I updated the KIP accordingly. Le ven. 6 mai 2022 à 12:55, François Rosière <francois.rosi...@gmail.com> aécrit :On the other hand, the KafkaConsumer constructor with a config + serializer and deserializer already exists but is not public. It would also complexify a bit the caller to not have the serializer/deserializer exposed at constructor level. Once the KIP would have been implemented, for streams, instead ofhaving acustom config (already possible), I may simply define a custom KafkaClientSupplier reusing the custom configs of both the producerand theconsumer. This supplier currently creates producers and consumers using the constructors with a map of config + serializer/deserializer. So, it seems it's easier to have the constructor with 3 parameters.But inany case, it will work if the config can be accessed... Le ven. 6 mai 2022 à 12:14, François Rosière <francois.rosi...@gmail.com>a écrit :Hello, We may create a constructor with a single parameter which is theconfigbut then, I would need to give the serializer/deserializer by also overriding the config. Like I would do for the interceptors. So, no real opinion on that, both solutions are ok for me. Maybe easier to take the approach of the single parameter. Hope it respond to the question. Kr, F. Le ven. 6 mai 2022 à 11:59, Bruno Cadonna <cado...@apache.org> aécrit :Hi Francois, Thank you for updating the KIP! Now the motivation of the KIP is much clearer. I would still be interested in: >> 2. Why do you only want to change/add the constructors thattakethe>> properties objects and de/serializers and you do not alsowant to>> add/change the constructors that take only the properties? Best, Bruno On 05.05.22 23:15, François Rosière wrote:Hello Bruno, The KIP as been updated. Feel free to give more feedbacks and Iwillcomplete accordingly. Kr, F. Le jeu. 5 mai 2022 à 22:22, Bruno Cadonna <cado...@apache.org>aécrit :Hi Francois, Thanks for the KIP! Here my first feedback: 1. Could you please extend the motivation section, so that itisclearfor a non-Spring dev why the change is needed? Usually, amotivationsection benefits a lot from an actual example. Extending the motivation section would also make the KIP more self-contained which is important IMO since this is kind of alogofthemajor changes to Kafka. Descriptions of major changes shouldnotcompletely depend on external links (which may become dead infuture).Referencing external resources to point to more details or givecontextis useful, though. 2. Why do you only want to change/add the constructors thattaketheproperties objects and de/serializers and you do not also wanttoadd/change the constructors that take only the properties? 3. I found the following stalled KIP whose motivation is reallysimilarto yours:https://cwiki.apache.org/confluence/display/KAFKA/KIP-378%3A+Enable+Dependency+Injection+for+Kafka+Streams+handlersThat KIP is also the reason why Kafka Streams still has theconstructorswith the StreamsConfig parameter. Maybe you want to mentionthisKIPinyours or even incorporate the remaining topology test driverAPIchangesin your KIP. Some related links: -https://github.com/apache/kafka/pull/5344#issuecomment-413350338- https://github.com/apache/kafka/pull/10484 - https://issues.apache.org/jira/browse/KAFKA-6386 Best, Bruno On 04.05.22 22:26, François Rosière wrote:Hi all, KIP-832 has been created to allow implementing Spring managedinterceptorsfor Producers and Consumers. At the moment, interceptors are given as configuration classesto theproducer and consumer configurations. So, the idea here wouldbetocreate2 new constructors to allow using a Producer and Consumerconfigurationinstead of properties or a key value map of configurationsentries.Interceptors could then be given as instances by overriding aconfigmethod.More details can be found in the Spring issue. https://github.com/spring-projects/spring-kafka/issues/2244 Any feedback, proposal, vote for this KIP would be more thanwelcome.Kind regards, Francois R. Le lun. 2 mai 2022 à 21:05, François Rosière <francois.rosi...@gmail.com>aécrit :Kip link:https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=211882578