Skip to content

Consumer groups using KIP-848 protocol (Kafka 4.x) incorrectly shown as DEAD state #2720

@shahaf-SG

Description

@shahaf-SG

When using AKHQ to monitor a Kafka 4.1 cluster with consumer groups that use the new KIP-848 consumer rebalance protocol (group.protocol=consumer), the groups are incorrectly displayed with state DEAD in the UI, even though they are actively consuming and in a Stable state.

Environment

Component Version
AKHQ 0.26
Kafka 4.1.0
Deployment Kubernetes (Strimzi Operator 0.48.0)
KRaft Mode Yes

Kafka Feature Flags:

  • group.version: 1
  • metadata.version: 4.1-IV1

Broker Config:

  • group.coordinator.rebalance.protocols=classic,consumer

Expected Behavior

Consumer group should display state Stable (matching the actual state)

Actual Behavior

Consumer group displays state DEAD

Verification via CLI

The group is actually healthy when queried via CLI:

$ kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group <group-name> --state                                                                                                                                                                       
                                                                                                                                                                                                                                                                           
GROUP         COORDINATOR (ID)  ASSIGNMENT-STRATEGY  STATE   #MEMBERS                                                                                                                                                                                                      
<group-name>  broker-0:9092 (0) uniform              Stable  3                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                           
Additional CLI output shows KIP-848 specific fields (currentEpoch, targetEpoch):                                                                                                                                                                                           
                                                                                                                                                                                                                                                                           
$ kafka-consumer-groups.sh --describe --group <group-name> --members --verbose                                                                                                                                                                                             
                                                                                                                                                                                                                                                                           
GROUP         CONSUMER-ID  HOST         CLIENT-ID  #PARTITIONS  CURRENT-EPOCH  TARGET-EPOCH                                                                                                                                                                                
<group-name>  abc123...    /10.x.x.x    client-1   1            11             11                                                                                                                                                                                          

Additional Context

  • Classic consumer groups (using the old protocol) display correctly in AKHQ
  • Only groups using group.protocol=consumer are affected
  • The issue is cosmetic but causes confusion when monitoring

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions