You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Alieh Saeedi (Jira)" <ji...@apache.org> on 2026/05/27 16:18:00 UTC

[jira] [Updated] (KAFKA-20623) Wire topology description plugin into GroupCoordinatorService

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

Alieh Saeedi updated KAFKA-20623:
---------------------------------
    Description: 
Write path, heartbeat gating, delete:



GroupCoordinatorService: builder plumbing for plugin. Heartbeat post-processing: set TopologyDescriptionRequired=true when StoredTopologyEpoch != currentTopologyEpoch AND LastFailedTopologyEpoch != currentTopologyEpoch AND backoff not active (skip STALE_TOPOLOGY members). In-memory per-group exponential backoff (30s → 1h). StreamsGroupTopologyDescriptionUpdate handler: validate MemberId against current group membership (→ UNKNOWN_MEMBER_ID), call plugin.setTopology, on success write StoredTopologyEpoch metadata record, on permanent failure write LastFailedTopologyEpoch, on transient failure arm backoff. POJO↔wire converters. deleteGroups integration: call plugin.deleteTopology before tombstoning, return DELETE_FAILED on plugin failure. GroupCoordinator interface update. GroupCoordinatorServiceTest.

> Wire topology description plugin into GroupCoordinatorService
> -------------------------------------------------------------
>
>                 Key: KAFKA-20623
>                 URL: https://issues.apache.org/jira/browse/KAFKA-20623
>             Project: Kafka
>          Issue Type: Sub-task
>            Reporter: Alieh Saeedi
>            Assignee: Lucas Brutschy
>            Priority: Major
>             Fix For: 4.4.0
>
>
> Write path, heartbeat gating, delete:
> GroupCoordinatorService: builder plumbing for plugin. Heartbeat post-processing: set TopologyDescriptionRequired=true when StoredTopologyEpoch != currentTopologyEpoch AND LastFailedTopologyEpoch != currentTopologyEpoch AND backoff not active (skip STALE_TOPOLOGY members). In-memory per-group exponential backoff (30s → 1h). StreamsGroupTopologyDescriptionUpdate handler: validate MemberId against current group membership (→ UNKNOWN_MEMBER_ID), call plugin.setTopology, on success write StoredTopologyEpoch metadata record, on permanent failure write LastFailedTopologyEpoch, on transient failure arm backoff. POJO↔wire converters. deleteGroups integration: call plugin.deleteTopology before tombstoning, return DELETE_FAILED on plugin failure. GroupCoordinator interface update. GroupCoordinatorServiceTest.



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