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/09/05 17:04:00 UTC

[jira] [Resolved] (KAFKA-21025) StreamsGroupHeartbeatRequest.Builder does not clear owned warm-up tasks when it negotiates request version 0

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

Matthias J. Sax resolved KAFKA-21025.
-------------------------------------
    Resolution: Fixed

> StreamsGroupHeartbeatRequest.Builder does not clear owned warm-up tasks when it negotiates request version 0
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-21025
>                 URL: https://issues.apache.org/jira/browse/KAFKA-21025
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 4.4.0
>            Reporter: Matthias J. Sax
>            Assignee: Matthias J. Sax
>            Priority: Blocker
>             Fix For: 4.4.0
>
>
> `StreamsGroupHeartbeatRequest.Builder.build(short)` clears `TaskOffsets` and `TaskEndOffsets` when the negotiated request version is 0, but does not clear `WarmupTasks`. At the same time, a 4.2 or 4.3 broker rejects a heartbeat that reports a non-empty set of owned warm-up tasks.
> So a client that owns a warm-up task and then negotiates RPC version 0 has every heartbeat rejected with `InvalidRequestException`. The client cannot clear the task on its own, because dropping it requires an assignment, and an assignment only arrives in a heartbeat response. Restarting the member recovers, since a re-joining member reports no owned tasks.
> This bug does not affect 4.4 directly, because we don't assign warmup tasks yet, however, the bug will surface with 4.5 release: KS 4.4 is "warmup task ready" and thus a 4.5 broker might assign warmup tasks to a 4.4 client. If the broker get downgraded afterward to 4.3/4.2, the 4.4 client would report its warmups to the broker, and the broker reject the heartbeat.



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