[ https://issues.apache.org/jira/browse/KAFKA-12815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17348068#comment-17348068 ]
Guozhang Wang commented on KAFKA-12815: --------------------------------------- Yup, we are definitely fixing forward rather than regressing here as previously people would just get the incorrect result silently. As for the longer term, I kinda also agree that we can wait and see how large of an impact it would be to not have topic/offsets be available; but what I'm pointing out is that this is not an impossible task to do, we just need to be careful about our trade-offs here. For some advanced users that may be using `transformValues` heavily but do not leverage on topic/offsets, at least we should allow them to choose based on their own knowledge. > KTable.transformValue might have incorrect record metadata > ---------------------------------------------------------- > > Key: KAFKA-12815 > URL: https://issues.apache.org/jira/browse/KAFKA-12815 > Project: Kafka > Issue Type: Bug > Components: streams > Reporter: Matthias J. Sax > Assignee: Matthias J. Sax > Priority: Major > Fix For: 3.0.0 > > > In the DSL, Kafka Streams applies an optimization for non-materialized > tables: when these are queried an upstream state store is accessed. To ensure > that the correct value is returned from the lookup, all intermediate > processors after the materialized store, and before the processor that > triggers the lookup are re-applied (cf `KTableValueGetter`). > For re-applying DSL operators like filter/mapValues that works fine. However, > for transformValue(), the method is executed with the incorrect > `RecordContext` (note that DSL operators like filter don't have access to the > `RecordContext` and thus, are not subject to this bug). Instead of using the > record context from the value that was received from the upstream state store > (and that is re-processed), the transformer would see the context from the > record that triggered the lookup. > Thus, the information about timestamp, offset, partition, topic name, and > headers is incorrect. -- This message was sent by Atlassian Jira (v8.3.4#803005)