Alternative API with KStream on top of Processor#5
Conversation
There was a problem hiding this comment.
Do you allow processors to be added after the topology has been built?
There was a problem hiding this comment.
Not sure if we should need a default Processor implementation.
|
I like the separation of layers a lot. I left some minor comments. At a high-level I think I am still stuck by the end user interface being a little awkward. Currently I think the interface is to define a class that builds a topology and then pass it in as a class. I think this is a bit weird. I expect to do something like this: I think this is tied back to the question of whether I pass processor instances or classes. I think I may understand part of the confusion on this issue. One thing I am assuming is that the user will pass fully instantiated Objects to the processors that would be available in the init method. So the implementation of KStream.filter currently looks like this: What I am proposing is that it look instead like this: The advantage is that the user code can now get rid of the whole Topology class with the builder. I think the order of execution for that API is quite unintuitive. |
Alternative API with KStream on top of Processor
|
I am not convinced that we need this complexity. |
…projects (#5) ce-trunk had several failing tests due to bringing ce-broker-plugins and ce-security into the main ce-kafka project.
Jay Kreps (@jkreps) Neha Narkhede (@nehanarkhede) ymatsuda
This is a second attempt for KStream-on-top-of-Processor: I maintained generics on KafkaProcessor and make addProcessor accepting the parent object directly.