[
https://issues.apache.org/jira/browse/KAFKA-4772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15988188#comment-15988188
]
Matthias J. Sax commented on KAFKA-4772:
----------------------------------------
This JIRA is not about any public API changes (see KAFKA-4830). Any public API
change requires a KIP, and we do have a KIP for the other JIRA:
https://cwiki.apache.org/confluence/display/KAFKA/KIP-132%3A+Augment+KStream.print+to+allow+extra+parameters+in+the+printed+string
This PR is only about internal code refactoring. {{KStreamImpl#print()}} uses
{{KeyValuePrinter}} as processor. But with {{#peek()}} we don't need this
processor anymore, but can simple call {{#peek()}} with an appropriate UDF.
Furthermore, the class {{KStreamForeach}} can be replaced by {{KStreamPeek}} if
we add a flag to {{KStreamPeek}} about forwarding the data or not.
Does this make sense?
> Exploit #peek to implement #print() and other methods
> -----------------------------------------------------
>
> Key: KAFKA-4772
> URL: https://issues.apache.org/jira/browse/KAFKA-4772
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Reporter: Matthias J. Sax
> Assignee: james chien
> Priority: Minor
> Labels: beginner, newbie
>
> From: https://github.com/apache/kafka/pull/2493#pullrequestreview-22157555
> Things that I can think of:
> - print / writeAsTest can be a special impl of peek; KStreamPrint etc can be
> removed.
> - consider collapse KStreamPeek with KStreamForeach with a flag parameter
> indicating if the acted key-value pair should still be forwarded.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)