[ 
https://issues.apache.org/jira/browse/KAFKA-5684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16111779#comment-16111779
 ] 

Guozhang Wang commented on KAFKA-5684:
--------------------------------------

1. regarding using `peek` to implement `print`: yes we have been trying to do 
so in https://issues.apache.org/jira/browse/KAFKA-4772, but we did not yet 
collapse {{KStreamPeek}} and {{KStreamPrint}} into the same class, mainly 
because we were treating serdes unnecessarily specially.

2. as Paolo mentioned, since we know at construction time if the mapper is 
provided or not, we can just wrap the serdes into the default mapper ONCE in 
the {{init}} call with one condition check only; by doing this we can get rid 
of the per-call condition check as {{instanceof}}.

> KStreamPrintProcessor as customized KStreamPeekProcessor
> --------------------------------------------------------
>
>                 Key: KAFKA-5684
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5684
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Paolo Patierno
>            Assignee: Paolo Patierno
>            Priority: Minor
>
> Hi,
> the {{KStreamPrintProcessor}} is implemented from scratch (from the 
> {{AbstractProcessor}}) and the same for the related supplier.
> It looks to me that it's just a special {{KStreamPeekProcessor}} with 
> forwardDownStream to false and that allows the possibility to specify Serdes 
> instances used if key/values are bytes.
> At same time used by a {{print()}} method it provides a fast way to print 
> data flowing through the pipeline (while using just {{peek()}} you need to 
> write the code).
> I think that it could be useful to refactoring the {{KStreamPrintProcessor}} 
> as derived from the {{KStreamPeekProcessor}} customizing its behavior.
> Thanks,
> Paolo.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to