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)