[ https://issues.apache.org/jira/browse/KAFKA-3616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guozhang Wang updated KAFKA-3616: --------------------------------- Fix Version/s: (was: 0.10.1.0) 0.10.0.0 > Make kafka producers/consumers injectable for KafkaStreams > ---------------------------------------------------------- > > Key: KAFKA-3616 > URL: https://issues.apache.org/jira/browse/KAFKA-3616 > Project: Kafka > Issue Type: Improvement > Components: streams > Affects Versions: 0.10.1.0 > Reporter: Yuto Kawamura > Assignee: Yuto Kawamura > Labels: api > Fix For: 0.10.0.0 > > > While playing with Kafka Streams I found that there's some cases that we want > to take control of kafka producer/consumers instantiation inside the > StreamThread. > Most significant case is that we have our own impl of kafka Producer which > was built to provide much reliable message delivery but there's no way to > inject our own instance into StreamTask ATM. > Another example is that we wanna observe the result of {{producer.send()}} > that is done inside the RecordCollector. We can provide our own Callback > instance but there's no way to inject that callback to RecordCollector again. > Here I'd like to suggest KafkaStreams giving an interface to inject these > clients. I considered various approaches to do this like passing them through > constructor or make instantiation methods overridable but eventually tried to > simply intorude another argument to the KafkaStreams constructor which is > responsible for supplying client instances. > Incomplete PR will be filled up to show changeset in my mind, so please give > me feedbacks. Will follow-up PR quickly if I get positive feedback. -- This message was sent by Atlassian JIRA (v6.3.4#6332)