Hi Jason,

Thanks for the KIP. It looks good to me overall.

1. Just clarifying the "CurrentVersion" field in the newly proposed
protocol. Does it contains the same value as zkVersion that controller get
from ZK?

2. As for the comment in the KIP: "We can either await the update or we can
send a new update with the current version. If we did the latter, then we
would have multiple pending inflights using the same version." My
understanding is that it is the controller who acts as the source of truth
for "currentVersion", in which case I think there's little latency benefits
to send multiple pending requests with the same version, since which-ever
arrives controller first would cause the zkVersion to be bumped and
therefore the rest of the requests would be rejected with
"INVALID_ISR_VERSION". So I'd favor just wait the update response from the
current inflight request before sending out the next request -- admittedly
this requires a bit more complicated implementation on the brokers, but
maybe we can generalize the request queue module on controller for this
purpose?


Guozhang


On Sun, Jul 28, 2019 at 10:32 AM Colin McCabe <cmcc...@apache.org> wrote:

> Hi Jason,
>
> This looks good.
>
> If the AlterIsr request returns a higher ZK version than the one the
> broker currently has, will the broker use that as its new ZK version?  I
> suppose this could happen if some of the updates the controller pushed out
> were not received or not received yet by the broker in question.
>
> best,
> Colin
>
>
> On Fri, Jul 26, 2019, at 09:43, Jason Gustafson wrote:
> > Hi All,
> >
> > I have written a proposal to change the way leaders make ISR
> > modifications:
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-497%3A+Add+inter-broker+API+to+alter+ISR
> .
> > Have a look and let me know what you think.
> >
> > Thanks,
> > Jason
> >
>


-- 
-- Guozhang

Reply via email to