Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-19668

processValues() must be declared as value-changing operation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 3.3.0
    • 4.0.1, 4.2.0, 4.1.1
    • streams
    • None

    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

          Activity

            People

              mjsax Matthias J. Sax
              mjsax Matthias J. Sax
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: