[
https://issues.apache.org/jira/browse/KAFKA-19442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
juned updated KAFKA-19442:
--------------------------
Description:
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
was:
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
> 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)