Versions Compared

Key

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

Status

Current stateUnder Discussion

Discussion thread: [Discuss] KIP-

...

571 Add option to force remove members in StreamsResetter

JIRA: KAFKA-9146


Motivation

Sometimes people want to reset the stream application sooner, but blocked by the left-over members inside group coordinator, which only expire after session timeout. When user configures a really long session timeout, it could prevent the group from clearing. We should consider adding the support to cleanup members by forcing them to leave the group. To do that, 

  1. If the stream application is already on static membership, we could call directly from adminClient.removeMembersFromGroup
  2. If the application is on dynamic membership, we should modify adminClient.removeMembersFromGroup interface to allow deletion based on member.id.

Proposed Changes && Public Interfaces

KIP-569 plan to support the ability to  force removing members in `StreamsResetter`, this basically involves 2 public interfaces changes as below:

...

Code Block
bin/kafka-streams-application-reset.sh --application-id streams-wordcount --input-topics streams-plaintext-input --force-remove-member

Compatibility, Deprecation, and Migration Plan

  1. Because no classes/method will be removed but only deprecated, this change will be fully backward compatible
  2. The new added cmdline arg force-remove-member is also backward compatible because it's new feature, if not specified, the StreamsRestter's behaviour remains unchanged.

Rejected Alternatives


None