You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Bruno Cadonna (Jira)" <ji...@apache.org> on 2025/06/27 09:47:00 UTC
[jira] [Commented] (KAFKA-19442) Kafka Streams state store used an outdated value when reducing records, resulting in incorrect output.
[ https://issues.apache.org/jira/browse/KAFKA-19442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17986507#comment-17986507 ]
Bruno Cadonna commented on KAFKA-19442:
---------------------------------------
Hi [~juned],
Thank you for the ticket!
Are you able to re-produce this with code?
If yes, could you provide us that code with the inputs that cause this situation?
> Kafka Streams state store used an outdated value when reducing records, resulting in incorrect output.
> ------------------------------------------------------------------------------------------------------
>
> Key: KAFKA-19442
> URL: https://issues.apache.org/jira/browse/KAFKA-19442
> Project: Kafka
> Issue Type: Bug
> Reporter: juned
> Priority: Major
>
> We observed a case where a reduce operation used an older version of the store value instead of the latest when processing a new input.
> Below i am describing the sequence of input and its outcome in changelog and output topic
> Lets see currently there is a key,value pair M0, in changelog & output Topic.
> and u1,u2,u3 updates are received for the same key in the same order.
> For u1,u2 all are fine
> But For u3 update , Changelog topic has the *expected Outcome* but Output topic has *incorrect* data.
>
> *{*}Sequence:{*}*
> |Step|Reduction |ChangelogTopic|OutputTopic |
> |------ |----------------------------|-------------------|-------------|
> |Initial |M0 |M0 |
> |u1 |M1 = reduce(M0, u1) |M1 |M1 |
> |u2 |M2 = reduce(M1, u2) |M2 |M2 |
> |u3 |M3 = reduce(M2, u3) |M3 |❌ Actually: reduce(M1, u3) |
>
> Environment:
> - Kafka-clients:3.5.1
> - kafka-streams:3.5.1
--
This message was sent by Atlassian Jira
(v8.20.10#820010)