[ 
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)

Reply via email to