Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Status

Current state:  Under Discussion Accepted

Discussion thread: [DISCUSS] KIP-379: Multiple Consumer Group Management

Voting thread: [VOTE] KIP-379: Multiple Consumer Group Management

JIRA: 

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7471

PULL REQUEST: #5726

Code Block
titlevotes
collapsetrue
Non-binding votes: 4 (Gwen Shapira, Ryanne Dolan, Jason Gustafson, Vahid Hashemian) 
Binding votes: 1 (Damian Guy)

Motivation

1) Running a set of commands like `--describe`, `--delete` or `--reset-offsets` for every single consumer group appears to be quite a tedios, time and memory consuming task. Each time you have to start a separate JVM to perform a query for a single group or spend some time writing your own client code. 

...

1) Providing the command line tool kafka-consumer-groups.sh with support of repeating repeating --group parameter  parameter for operations --describe, --delete, --reset-offsets:

...

3) Extending data output table format by adding "GROUP" column  column for Describe queries:

--describe:

GROUP

TOPIC

PARTITION

CURRENT-OFFSET

LOG-END-OFFSET

LAGCONSUMER-IDHOSTCLIENT-IDGROUP

--describe --members:

GROUPCONSUMER-IDHOSTCLIENT-ID#PARTITIONSGROUP

--describe --members --verbose

GROUPCONSUMER-IDHOSTCLIENT-ID#PARTITIONSGROUPASSIGNMENT

--describe --state

GROUPCOORDINATOR (ID)ASSIGNMENT-STRATEGYSTATE#MEMBERSGROUP

4) Add new CSV file to support multiple consumer groups. Thus, we will have to update table format by adding a consumer group column. Backwards compatibility with old CSV file format should be preserved.  

...

  • Providing the command line tool kafka-consumer-groups.sh with support of repeating --group parameter for operations operations --describe, --delete, --reset-offsets
  • Providing the command line tool kafka-consumer-groups.sh with an optional --all-groups parameter for operations operations --describe, --delete, --reset-offsets
  • Extending data output table format by adding "GROUP" column for all all --describe queries queries
  • Update CSV file to support multiple consumer groups.
  • We will also have to make sure CSV generation is done properly since there are no restrictions on consumer group names and symbols like commas and quotes are allowed. That is, CSV file generation with export/import of consumer offsets needs some rework

Compatibility, Deprecation, and Migration Plan

...