David, thanks for the KIP. I'm +1 on it as well.

One note is that in post-ZK world, we would need a different way to get
broker epoch since it is updated as ZKversion today. I believe we would
have this discussion in a different KIP though.


Guozhang

On Wed, May 27, 2020 at 8:26 PM Colin McCabe <cmcc...@apache.org> wrote:

> Thanks, David.  +1 (binding).
>
> cheers,
> Colin
>
> On Wed, May 27, 2020, at 18:21, David Arthur wrote:
> > Colin, thanks for the feedback. Good points. I've updated the KIP with
> your
> > suggestions.
> >
> > -David
> >
> > On Wed, May 27, 2020 at 4:05 PM Colin McCabe <cmcc...@apache.org> wrote:
> >
> > > Hi David,
> > >
> > > Thanks for the KIP!
> > >
> > > The KIP refers to "the KIP-500 bridge release (version 2.6.0 as of the
> > > time of this proposal)".  This is out of date-- the bridge release
> will be
> > > one of the 3.x releases.  We should either update this to 3.0, or
> perhaps
> > > just take out the reference to a specific version, since it's not
> necessary
> > > to understand the rest of the KIP.
> > >
> > > > ... and potentially could replace the existing controlled shutdown
> RPC.
> > > Since this RPC
> > > > is somewhat generic, it could also be used to mark a replicas a
> "online"
> > > following some
> > > > kind of log dir recovery procedure (out of scope for this proposal).
> > >
> > > I think it would be good to move this part into the "Future Work"
> section.
> > >
> > > > The Reason field is an optional textual description of why the event
> is
> > > being sent
> > >
> > > Since we implemented optional fields in KIP-482, describing this field
> as
> > > "optional" might be confusing.  Probably better to avoid describing it
> that
> > > way, unless it's a tagged field.
> > >
> > > > - If no Topic is given, it is implied that all topics on this broker
> are
> > > being indicated
> > > > - If a Topic and no partitions are given, it is implied that all
> > > partitions of this topic are being indicated
> > >
> > > I would prefer to leave out these "shortcuts" since they seem likely to
> > > lead to confusion and bugs.
> > >
> > > For example, suppose that  the controller has just created a new
> partition
> > > for topic "foo" and put it on broker 3.  But then, before broker 3
> gets the
> > > LeaderAndIsrRequest from the controller, broker 3 get a bad log
> directory.
> > > So it sends an AlterReplicaStateRequest to the controller specifying
> topic
> > > foo and leaving out the partition list (using the first "shortcut".)
> The
> > > new partition will get marked as offline even though it hasn't even
> been
> > > created, much less assigned to the bad log directory.
> > >
> > > Since log directory failures are rare, spelling out the full set of
> > > affected partitions when one happens doesn't seem like that much of a
> > > burden.  This is also consistent with what we currently do.  In fact,
> it's
> > > much more efficient than what we currently do, since with KIP-589, we
> won't
> > > have to enumerate partitions that aren't on the failed log directory.
> > >
> > > In the future work section: If we eventually want to replace
> > > ControlledShutdownRequest with this RPC, we'll need some additional
> > > functionality.  Specifically, we'll need the ability to tell the
> controller
> > > to stop putting new partitions on the broker that sent the request.
> That
> > > could be done with a separate request or possibly additional flags on
> this
> > > request.  In any case, we don't have to solve that problem now.
> > >
> > > Thanks again for the KIP... great to see this moving forward.
> > >
> > > regards,
> > > Colin
> > >
> > >
> > > On Wed, May 20, 2020, at 12:22, David Arthur wrote:
> > > > Hello, all. I'd like to start the vote for KIP-589 which proposes to
> add
> > > a
> > > > new AlterReplicaState RPC.
> > > >
> > > >
> > >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-589+Add+API+to+update+Replica+state+in+Controller
> > > >
> > > > Cheers,
> > > > David
> > > >
> > >
> >
> >
> > --
> > -David
> >
>


-- 
-- Guozhang

Reply via email to