Matthias J. Sax created KAFKA-20899:
---------------------------------------
Summary: 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
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)