[ 
https://issues.apache.org/jira/browse/KAFKA-19668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18018250#comment-18018250
 ] 

Matthias J. Sax commented on KAFKA-19668:
-----------------------------------------

Do not break backward compatibility, we decided to not enable this fix by 
default in AK 4.0.1 and 4.1.1 releases, and will do some follow up work for AK 
4.2.0 for allow us to enable the fix by default there.

> processValues() must be declared as value-changing operation
> ------------------------------------------------------------
>
>                 Key: KAFKA-19668
>                 URL: https://issues.apache.org/jira/browse/KAFKA-19668
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 3.3.0
>            Reporter: Matthias J. Sax
>            Assignee: Matthias J. Sax
>            Priority: Blocker
>             Fix For: 4.0.1, 4.2.0, 4.1.1
>
>
> When adding `KStreams#processValues()` we missed to declare the operation as 
> "value changing". This can lead to an "incorrectly" built topology.
> The main problem is, that `processValues()` is the replacement of 
> `transformValues()` which we removed with AK 4.0.0 release. Thus, if users 
> rewrite existing programs from `transformValues()` to the new 
> `processValues()` (what will be required when upgrading to 4.x release), they 
> might observe this change as a regression.
> The impact of the changed topology is, that local state is effectively lost, 
> and must be restored from the changelog topic, resulting in downtime after an 
> upgrade.
> Note: the bug does only surface, if topology optimization is used, in 
> particular the "merge repartition topics" rewrite.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to