Child pages
  • KIP-222 - Add Consumer Group operations to Admin API
Skip to end of metadata
Go to start of metadata

 

Status

Current state"Under Discussion"

Discussion thread: here

JIRA: here  KAFKA-6058 - Add "describe consumer groups" and "list consumer groups" to KafkaAdminClient Open


Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

This KIP is aim to add support for describing consumer groups and list consumer groups to `KafkaAdminClient` class. This functionality is required on the Streams Resetter Tool as describe here:  KAFKA-5965 - Remove Deprecated AdminClient from Streams Resetter Tool Open

Public Interfaces

API


Add the following API in AdminClient:

This API returns a future object whose result will be available within RequestTimeoutMs, which is configured when user constructs the AdminClient.

Proposed Changes

  1. Add `#describeGroups(Collection<String> groupIds, DescribeGroupsOptions options)` and `#describeGroups(Collection<String> groupIds)` to `AdminClient` API
  2. Add `#describeConsumerGroups(Collection<String> groupIds, DescribeGroupsOptions options)` and `#describeConsumerGroups(Collection<String> groupIds)` to `AdminClient` API
  3. Add `#listGroups(ListGroupsOptions options)` and `#listGroups()` to `AdminClient` API 
  4. Add `#listGroupOffsets(String groupId, ListGroupOffsetsOptions options)` and `#listGroupOffsets(String groupId)` to `AdminClient` API and
  5. Implement it on `KafkaAdminClient`.
  6. Solve  KAFKA-6058 - Add "describe consumer groups" and "list consumer groups" to KafkaAdminClient Open

Compatibility, Deprecation, and Migration Plan

  • There won't be any impact on existing users.
  • There won't be any change of current behavior.
  • No migration tool required.

Rejected Alternatives

We are moving one more functionality from `core`'s `AdminClient` API to `clients`'s `AdminClient` API. This is aim to remove dependencies to `core` module.

Future Work

  • Streams Resetter Tool will be remove it's dependency to `core` module for `KafkaAdminClient`.

References:

Pull Request:

 

  • No labels