Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-6039 Improve TaskAssignor to be more load balanced
  3. KAFKA-4696

Streams standby task assignment should be state-store aware

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.10.2.0, 0.11.0.0
    • 2.6.0
    • streams
    • None

    Description

      Task Assignment is currently not aware of which tasks have State Stores. This can result in uneven balance of standby task assignment as all tasks are assigned, but only those tasks with state-stores are ever created by StreamThread. So what seems like an optimal strategy during assignment time could be sub-optimal post-assignment.

      For example, lets say we have 4 tasks (2 with state-stores), 2 clients, numStandbyReplicas = 1. Each client would get 2 active and 2 standby tasks. One of the clients may end up with both state-store tasks, while the other has none.

      Further to this, standby task configuration is currently "all or nothing". It might make sense to allow more fine grained configuration, i.e., the ability to specify the number of standby replicas individually for each stateful operator.

      Attachments

        Issue Links

          Activity

            People

              ableegoldman A. Sophie Blee-Goldman
              damianguy Damian Guy
              Votes:
              1 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: