You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Matthias J. Sax (Jira)" <ji...@apache.org> on 2026/08/06 01:52:00 UTC

[jira] [Assigned] (KAFKA-20899) StickyTaskAssignor not sticky for standby tasks

     [ https://issues.apache.org/jira/browse/KAFKA-20899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthias J. Sax reassigned KAFKA-20899:
---------------------------------------

    Assignee: Matthias J. Sax

> StickyTaskAssignor not sticky for standby tasks
> -----------------------------------------------
>
>                 Key: KAFKA-20899
>                 URL: https://issues.apache.org/jira/browse/KAFKA-20899
>             Project: Kafka
>          Issue Type: Bug
>          Components: group-coordinator, streams
>    Affects Versions: 4.2.0
>            Reporter: Matthias J. Sax
>            Assignee: Matthias J. Sax
>            Priority: Major
>             Fix For: 4.4.0, 4.2.2, 4.3.2
>
>
> The problem is in `StickyTaskAssignor#findPrevMemberWithLeastLoad` which does not cycle all members correctly as candidates:
> It select `member.get(0)` unconditionally as first candidate, even if this member might also host the active task, and is not a candidate.
> It pins the `candidateProcessState` to the first "seed" candidate and never updates it, comparing incorrect process states later.
> Thus, load of other members is always compared to the load of the "seed" member, and this happens even if the "seed" member is no candidate to begin with.



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