Description
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.
Attachments
Issue Links
- causes
-
KAFKA-19688 Provide clean upgrade path from transformValues to processValues
-
- Open
-
- links to
- mentioned in
-
Page Loading...