Status
Current state: Under 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,
- If the stream application is already on static membership, we could call directly from adminClient.removeMembersFromGroup
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
- Because no classes/method will be removed but only deprecated, this change will be fully backward compatible
- 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