Thanks for the update Feyman. The updates look great, except one thing I
would like to be more specific is error cases display. In the "*2)* Add
cmdline option" you mention throwing exception when request failed, does
that suggest partial failure or a full failure? How do we deal with
different scenarios?

Also some minor syntax fix:
1. it only support remove static members -> it only supports the removal of
static members
2. "new constructor is added and the old constructor will be deprecated"
you mean the `new helper` right? Should be `new helper is added`
3. users should make sure all the stream applications should be are shutdown

Other than the above suggestions, I think the KIP is in pretty good shape.

Boyang

On Fri, Feb 14, 2020 at 9:29 PM feyman2009 <feyman2...@aliyun.com> wrote:

> 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