You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Piotr Fras (Jira)" <ji...@apache.org> on 2021/02/05 14:04:00 UTC

[jira] [Comment Edited] (KAFKA-12213) Kafka Streams aggregation Initializer to accept record key

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

Piotr Fras edited comment on KAFKA-12213 at 2/5/21, 2:03 PM:
-------------------------------------------------------------

[~mjsax] [~guozhang] thank you for your comments on the issue. Personally, I would prefer working up KIP-149 as it was already accepted by the community and can be progressed on. If we decide on breaking KIP-149 into smaller deliverables, how would you proceed with merging/releasing those features? Would you rather wait for all stories to be delivered and perform one big release of KIP-149? I don't mind submitting one massive PR with all the features from KIP-149.

Re: backwards compatibility, as per KIP-149, it was decided to use method overloading  in Transformers, Mappers, Joiners and Initializers to address backwards compatibility issue. While this works for Java API, it might not work for Scala API as method overloading is dangerous and discouraged, more details: [https://stackoverflow.com/a/2512001/2145368]


was (Author: moncalamari):
[~mjsax] [~guozhang] thank you for your comments on the issue. Personally, I would prefer working up KIP-149 as it was already accepted by the community and can be progressed on. If we decide on breaking KIP-149 into smaller deliverables, how would you proceed with merging/releasing those features? Would you rather wait for all stories to be delivered and perform one big release of KIP-149?

Re: backwards compatibility, as per KIP-149, it was decided to use method overloading  in Transformers, Mappers, Joiners and Initializers to address backwards compatibility issue. While this works for Java API, it might not work for Scala API as method overloading is dangerous and discouraged, more details: https://stackoverflow.com/a/2512001/2145368

> Kafka Streams aggregation Initializer to accept record key
> ----------------------------------------------------------
>
>                 Key: KAFKA-12213
>                 URL: https://issues.apache.org/jira/browse/KAFKA-12213
>             Project: Kafka
>          Issue Type: New Feature
>          Components: streams
>            Reporter: Piotr Fras
>            Assignee: Piotr Fras
>            Priority: Minor
>              Labels: needs-kip
>
> Sometimes Kafka record key contains useful information for creating a zero object in aggregation Initializer. This feature is to add kafka record key to Initializer.
> There were two approaches I considered to implement this feature, one respecting backwards compatibility for internal and external APIs and the other one which is not. I chose the latter one as it was more strait-forward. We may want to validate this approach tho.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)