Hi Federico,

Thanks for your comments. SureI will update the KIP accordingly.

Thanks,
Hailey

On Tue, Oct 3, 2023 at 1:29 AM Federico Valeri <fedeval...@gmail.com> wrote:

> Hi Hailey, thanks for the KIP.
>
> I also agree that the two mutually exclusive args are better. In order
> to be consistent with the other tools, I would suggest to use
> --process-role and --node-id (hyphen instead of dot). Can you also
> update the KIP?
>
> On Mon, Oct 2, 2023 at 10:18 PM Hailey Ni <h...@confluent.io.invalid>
> wrote:
> >
> > Hi Kamal,
> >
> > I think the broker.id property has been replaced with the `node.id`
> property
> > in KRaft.  The documentation for `node.id` says it is required (
> >
> https://github.com/apache/kafka/blob/72e275f6ea867747e6b4e524c80d5ebd726ac25b/core/src/main/scala/kafka/server/KafkaConfig.scala#L741
> ),
> > and the QuickStart files all use it (
> >
> https://github.com/apache/kafka/tree/72e275f6ea867747e6b4e524c80d5ebd726ac25b/config/kraft
> ).
> > It is technically true that these two configs are treated as synonyms of
> > one another (
> >
> https://github.com/apache/kafka/blob/72e275f6ea867747e6b4e524c80d5ebd726ac25b/core/src/main/scala/kafka/server/KafkaConfig.scala#L1587-L1597
> ),
> > so if you specify either one the process will still recognize it and
> > start.  But it makes sense to exclusively use `node.id` in KRaft
> because a
> > node isn't necessarily a broker anymore; it could be a controller (or
> even
> > a combined broker+controller).
> >
> > Thanks,
> > Hailey
> >
> > On Mon, Oct 2, 2023 at 1:17 PM Hailey Ni <h...@confluent.io> wrote:
> >
> > > Hi Ismeal,
> > >
> > > Thanks for the comments. I'll change the implementation to use a pair
> of
> > > mutually exclusive args --process.roles and --node.id.
> > >
> > > Thanks,
> > > Hailey
> > >
> > > On Mon, Oct 2, 2023 at 6:34 AM Ismael Juma <m...@ismaeljuma.com> wrote:
> > >
> > >> Hi Ron,
> > >>
> > >> Yes, that's what I am proposing, yes.
> > >>
> > >> Ismael
> > >>
> > >> On Sat, Sep 30, 2023 at 2:30 PM Ron Dagostino <rndg...@gmail.com>
> wrote:
> > >>
> > >> > Thanks, Ismael.  I think you are proposing a pair of mutually
> exclusive
> > >> > args --process.roles and --node.id, right?  I agree that is more
> > >> > user-friendly than the --required-config arg, and it comes at the
> > >> possible
> > >> > expense of generality.  So that’s the tradeoff between the two, I
> think.
> > >> > No other config comes to mind now that we’ve identified these two.
> I
> > >> think
> > >> > the two specific and mutually exclusive parameters would be the way
> to
> > >> go
> > >> > unless someone else identifies still more options that people might
> > >> want.
> > >> >
> > >> > Did I get that right, or were you proposing something different?
> > >> >
> > >> > Ron
> > >> >
> > >> > > On Sep 30, 2023, at 10:42 AM, Ismael Juma <m...@ismaeljuma.com>
> wrote:
> > >> > >
> > >> > > Hi,
> > >> > >
> > >> > > Thanks for the KIP. I think this approach based on configs is a
> bit
> > >> too
> > >> > > open ended and not very user friendly. Why don't we simply provide
> > >> flags
> > >> > > for the things a user may care about? So far, it seems like we
> have
> > >> two
> > >> > > good candidates (node id and process role). Are there any others?
> > >> > >
> > >> > > Ismael
> > >> > >
> > >> > >> On Fri, Sep 29, 2023 at 6:19 PM Hailey Ni
> <h...@confluent.io.invalid>
> > >> > wrote:
> > >> > >>
> > >> > >> Hi Ron,
> > >> > >>
> > >> > >> I think you made a great point, making the "name" arbitrary
> instead
> > >> of
> > >> > >> hard-coding it will make the functionality much more flexible.
> I've
> > >> > updated
> > >> > >> the KIP and the code accordingly. Thanks for the great idea!
> > >> > >>
> > >> > >> Thanks,
> > >> > >> Hailey
> > >> > >>
> > >> > >>
> > >> > >>> On Fri, Sep 29, 2023 at 2:34 PM Ron Dagostino <
> rndg...@gmail.com>
> > >> > wrote:
> > >> > >>>
> > >> > >>> Thanks, Hailey.  Is there a reason to restrict it to just
> > >> > >>> process.roles and node.id?  Someone might want to do
> > >> > >>> "--required-config any.name=whatever.value", for example, and
> at
> > >> first
> > >> > >>> glance I don't see a reason why the implementation should be any
> > >> > >>> different -- it seems it would probably be easier to not have to
> > >> worry
> > >> > >>> about restricting to specific cases, actually.  WDYT?
> > >> > >>>
> > >> > >>> Ron
> > >> > >>>
> > >> > >>> On Fri, Sep 29, 2023 at 5:12 PM Hailey Ni
> <h...@confluent.io.invalid
> > >> >
> > >> > >>> wrote:
> > >> > >>>>
> > >> > >>>> Updated. Please let me know if you have any additional
> comments.
> > >> Thank
> > >> > >>> you!
> > >> > >>>>
> > >> > >>>> On Thu, Sep 21, 2023 at 3:02 PM Hailey Ni <h...@confluent.io>
> > >> wrote:
> > >> > >>>>
> > >> > >>>>> Hi Ron. Thanks for the response. I agree with your point. I'll
> > >> make
> > >> > >> the
> > >> > >>>>> corresponding changes in the KIP and KAFKA-15471
> > >> > >>>>> <https://issues.apache.org/jira/browse/KAFKA-15471>.
> > >> > >>>>>
> > >> > >>>>> On Thu, Sep 21, 2023 at 1:40 PM Ron Dagostino <
> rndg...@gmail.com>
> > >> > >>> wrote:
> > >> > >>>>>
> > >> > >>>>>> Hi Hailey.  No, I just looked, and zookeeper-server-stop
> does not
> > >> > >> have
> > >> > >>>>>> any facility to be specific about which ZK nodes to signal.
> So
> > >> > >>>>>> providing the ability in kafka-server-stop to be more
> specific
> > >> than
> > >> > >>>>>> just "signal all controllers" or "signal all brokers" would
> be a
> > >> > >> bonus
> > >> > >>>>>> and therefore not necessarily required.  But if it is easy to
> > >> > >> achieve
> > >> > >>>>>> and doesn't add any additional cognitive load -- and at first
> > >> glance
> > >> > >>>>>> it does seem so -- we should probably just support it.
> > >> > >>>>>>
> > >> > >>>>>> Ron
> > >> > >>>>>>
> > >> > >>>>>> On Wed, Sep 20, 2023 at 6:15 PM Hailey Ni
> > >> <h...@confluent.io.invalid
> > >> > >>>
> > >> > >>>>>> wrote:
> > >> > >>>>>>>
> > >> > >>>>>>> Hi Ron,
> > >> > >>>>>>>
> > >> > >>>>>>> Thank you very much for the comment. I think it makes sense
> to
> > >> me
> > >> > >>> that
> > >> > >>>>>> we
> > >> > >>>>>>> provide an even more specific way to kill individual
> > >> > >>>>>> controllers/brokers.
> > >> > >>>>>>> I have one question: does the command line for ZooKeeper
> cluster
> > >> > >>> provide
> > >> > >>>>>>> such a way to kill individual controllers/brokers?
> > >> > >>>>>>>
> > >> > >>>>>>> Thanks,
> > >> > >>>>>>> Hailey
> > >> > >>>>>>>
> > >> > >>>>>>> On Tue, Sep 19, 2023 at 11:01 AM Ron Dagostino <
> > >> rndg...@gmail.com
> > >> > >>>
> > >> > >>>>>> wrote:
> > >> > >>>>>>>
> > >> > >>>>>>>> Thanks for the KIP, Hailey.  It will be nice to provide
> some
> > >> > >>>>>>>> fine-grained control for when people running the broker and
> > >> > >>> controller
> > >> > >>>>>>>> this way want to stop just one of them.
> > >> > >>>>>>>>
> > >> > >>>>>>>> One thing that occurs to me is that in a development
> > >> environment
> > >> > >>>>>>>> someone might want to run multiple controllers and multiple
> > >> > >>> brokers
> > >> > >>>>>>>> all on the same box, and in that case they might want to
> > >> > >> actually
> > >> > >>> stop
> > >> > >>>>>>>> just one controller or just one broker instead of all of
> them.
> > >> > >>> So I'm
> > >> > >>>>>>>> wondering if maybe instead of supporting kafka-server-stop
> > >> > >>>>>>>> [--process.roles <value>] we might want to instead support
> > >> > >>>>>>>> kafka-server-stop [--required-config <name=value>].  If
> someone
> > >> > >>> wanted
> > >> > >>>>>>>> to stop any/all controllers and not touch the broker(s)
> they
> > >> > >> could
> > >> > >>>>>>>> still achieve that by invoking kafka-server-stop
> > >> > >> --required-config
> > >> > >>>>>>>> process.roles=controller.  But if they did want to stop a
> > >> > >>> particular
> > >> > >>>>>>>> controller they could then also achieve that via
> > >> > >> kafka-server-stop
> > >> > >>>>>>>> --required-config node.id=1 (for example).  What do you
> think?
> > >> > >>>>>>>>
> > >> > >>>>>>>> Ron
> > >> > >>>>>>>>
> > >> > >>>>>>>> On Thu, Sep 14, 2023 at 5:56 PM Hailey Ni
> > >> > >>> <h...@confluent.io.invalid>
> > >> > >>>>>>>> wrote:
> > >> > >>>>>>>>>
> > >> > >>>>>>>>> Hi all,
> > >> > >>>>>>>>>
> > >> > >>>>>>>>> I would like to start the discussion about *KIP-979: Allow
> > >> > >>>>>> independently
> > >> > >>>>>>>>> stop KRaft controllers or brokers* <
> > >> > >>>>>>>>>
> > >> > >>>>>>>>
> > >> > >>>>>>
> > >> > >>>
> > >> > >>
> > >> >
> > >>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-979%3A+Allow+independently+stop+KRaft+controllers+or+brokers
> > >> > >>>>>>>>>>
> > >> > >>>>>>>>> It proposes adding an optional field "--process.roles
> <value>"
> > >> > >>> in
> > >> > >>>>>> the
> > >> > >>>>>>>>> script to allow users to independently stop either KRaft
> > >> > >> broker
> > >> > >>>>>> processes
> > >> > >>>>>>>>> or controller processes. While in the past, all processes
> were
> > >> > >>>>>> killed
> > >> > >>>>>>>> using
> > >> > >>>>>>>>> a single script.
> > >> > >>>>>>>>> Please let me know if you have any questions or comments.
> Much
> > >> > >>>>>>>> appreciated.
> > >> > >>>>>>>>>
> > >> > >>>>>>>>> Thanks & Regards,
> > >> > >>>>>>>>> Hailey
> > >> > >>>>>>>>
> > >> > >>>>>>
> > >> > >>>>>
> > >> > >>>
> > >> > >>
> > >> >
> > >>
> > >
>

Reply via email to