Hi, Boyang
    You can call me Feyman :)
    Thanks for your quick reply with great advices!
    I have updated the KIP-571 , would you mind to see if it looks good ? 
    Thanks !


------------------------------------------------------------------
发件人:Boyang Chen <reluctanthero...@gmail.com>
发送时间:2020年2月14日(星期五) 08:35
收件人:dev <dev@kafka.apache.org>; feyman2009 <feyman2...@aliyun.com>
主 题:Re: [Discuss] KIP-571: Add option to force remove members in StreamsResetter

Thanks for driving this change Feyman! Hope this is a good name to call you :)

The motivation of the KIP looks good, and I have a couple of initial thoughts:
1. I guess the reason to use setters instead of adding a new constructor to 
MemberToRemove class is because we have two String members. Could you point 
that out upfront so that people are not asking why not adding new constructor?
2. KIP discussion usually focuses on the public side changes, so you don't need 
to copy-paste the entire class. Just the new APIs you are adding should be 
suffice
3. Add the description of new flag inside Public API change, whose name could 
be simplified as `--force` and people would just read the description. An edge 
case I could think of is that some ongoing applications are not closed when the 
reset tool applies, which causes more unexpected rebalances. So it's important 
to warn users to use the flag wisely and be responsible to shutdown old 
applications first.
4. It would be good to mention in the Compatibility section which version of 
broker and admin client we need to be able to use this new feature. Also what's 
the expected behavior when the broker is not supporting the new API.
5. What additional feedback for users using the new flag? Are we going to 
include a list of successfully deleted members, and some failed members?
6. We could separate the proposed change and public API section. In the 
proposed change section, we could have a mention of which API we are going to 
use to get the members of the stream application.

And some minor style advices:
1. Remove the link on `member.id` inside Motivation section;
2. Use a code block for the new MemberToRemove and avoid unnecessary coloring;
3. Please pay more attention to style, for example `ability to  force removing` 
has double spaces. 

Boyang


On Thu, Feb 13, 2020 at 1:48 AM feyman2009 <feyman2...@aliyun.com.invalid> 
wrote:
Hi, all
     In order to make it possible for StreamsResetter to reset stream even when 
there are active members, since we currently only have the ability to remove 
static members, so we basically need the ability to remove dynamic members, 
this involves some public interfaces change in 
org.apache.kafka.clients.admin.MemberToRemove.

 KIP: 
https://cwiki.apache.org/confluence/display/KAFKA/KIP-571%3A+Add+option+to+force+remove+members+in+StreamsResetter
 JIRA: https://issues.apache.org/jira/browse/KAFKA-9146

 Any comments would be highly appreciated~
 Thanks !

Reply via email to