[ https://issues.apache.org/jira/browse/KAFKA-8828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16917315#comment-16917315 ]
Matthias J. Sax commented on KAFKA-8828: ---------------------------------------- [~johannz], [~marcospassos]: thanks for the details. If you create a `GlobalKTable` it's assume that you only use it in a stream-globalTable join. It's considered an anti-pattern to pass it into a `transformer()` – also, it's incorrect to write into the global state from the transformer anyway (only the corresponding Processor should write into the global state) – if you want to delete from a global state, you need to write a tombstone into the corresponding input topic – otherwise, you may get inconsistent data: on failure, the global state will be recreated from the topic and hence a deleted record would reappear. You should use `StreamsBuilder.addGlobalStore()` instead. > [BC Break] Global store returns a TimestampedKeyValueStore in 2.3 > ----------------------------------------------------------------- > > Key: KAFKA-8828 > URL: https://issues.apache.org/jira/browse/KAFKA-8828 > Project: Kafka > Issue Type: Bug > Components: streams > Affects Versions: 2.3.0 > Reporter: Marcos Passos > Priority: Major > > Since 2.3, {{ProcessorContext}} returns a {{TimestampedKeyValueStore}} for > global stores, which is backward incompatible. This change makes the upgrade > path a lot painful and involves creating a non-trivial adapter to hide the > timestamp-related functionality in cases where it is not needed. -- This message was sent by Atlassian Jira (v8.3.2#803003)