vcrfxia commented on code in PR #13552: URL: https://github.com/apache/kafka/pull/13552#discussion_r1171939132
########## streams/src/main/java/org/apache/kafka/streams/kstream/internals/CogroupedStreamAggregateBuilder.java: ########## @@ -73,6 +74,7 @@ <KR> KTable<KR, VOut> build(final Map<KGroupedStreamImpl<K, ?>, Aggregator<? sup stateCreated, storeBuilder, parentProcessor); + statefulProcessorNode.setOutputVersioned(isOutputVersioned); Review Comment: Hm yeah I want to make something like this (and your other related suggestions) work so that this wiring is less brittle, but it's tricky since I think we only get value from making this change if we make `isOutputVersioned` a required constructor parameter of a bunch of different nodes: StatefulProcessorNode, KTableKTableJoinNode, TableSourceNode, StreamToTableNode, and TableProcessorNode (none of which inherit from each other). Do you think it's worth the change to make `isOutputVersioned` required for all of these? I do think the benefit of requiring future authors to think about `isOutputVersioned` in all of these cases is high, but it's going to bloat the codebase, so I'm on the fence as a result. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org