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

Guidance on whether a topology is eligible for optimisation

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • streams
    • None

    Description

      Since the introduction of KStream.toTable() in Kafka 2.6.x, the decision about whether a topology is eligible for optimisation is no longer a simple one, and is related to whether toTable() operations are preceded by key changing operators.

      This decision requires expert level knowledge, and there are serious implications associated with getting it wrong in terms of fault tolerance

      Some ideas spring to mind around how to guide developers to make the correct decision:

      1. Topology.describe() could indicate whether this topology is eligible for optimisation
      2. Topologies could be automatically optimised - note this may have an impact at deployment time, in that an application reset may be required. The developer would need to made aware of this and adjust the deployment plan accordingly

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            pokeeffe Patrick O'Keeffe
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: