[ https://issues.apache.org/jira/browse/KAFKA-14294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17685784#comment-17685784 ]
Sylvain Le Gouellec commented on KAFKA-14294: --------------------------------------------- *Workaround* Developer can explicitly request to commit the transaction using {code:java} context.commit(); {code} after each punctate handler triggered. > Kafka Streams should commit transaction when no records are processed > --------------------------------------------------------------------- > > Key: KAFKA-14294 > URL: https://issues.apache.org/jira/browse/KAFKA-14294 > Project: Kafka > Issue Type: Improvement > Components: streams > Affects Versions: 3.2.1 > Reporter: Vicky Papavasileiou > Assignee: A. Sophie Blee-Goldman > Priority: Major > Fix For: 3.4.0 > > Attachments: image-2023-02-08-10-22-20-456.png > > > Currently, if there are no records to process in the input topic, a > transaction does not commit. If a custom punctuator code is writing to a > state store (which is common practice) the producer gets fenced when trying > to write to the changelog topic. This throws a TaskMigratedException and > causes a rebalance. > A better approach would be to commit a transaction even when there are no > records processed as to allow the punctuator to make progress. -- This message was sent by Atlassian Jira (v8.20.10#820010)