[ 
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)

Reply via email to