Hi all, Bump this thread to see if there are other comments to this KIP. So far, I have one +1 vote (binding), and need more votes.
Thank you. Luke On Tue, Dec 21, 2021 at 10:33 AM Luke Chen <show...@gmail.com> wrote: > Hi all, > > Bump this thread to see if there are other comments to this KIP. > > Thank you. > Luke > > On Fri, Dec 17, 2021 at 1:27 AM Colin McCabe <cmcc...@apache.org> wrote: > >> Thanks for the explanation, Luke. That makes sense. >> >> best, >> Colin >> >> On Thu, Dec 9, 2021, at 13:31, Guozhang Wang wrote: >> > Thanks Luke, in that case I'm +1 on this KIP. >> > >> > On Thu, Dec 9, 2021 at 1:46 AM Luke Chen <show...@gmail.com> wrote: >> > >> >> Hi Guozhang, >> >> >> >> Thanks for your comment. >> >> >> >> > we need to make sure the old-versioned leader would be able to >> ignore the >> >> new >> >> field during an upgrade e.g. without crashing. >> >> >> >> Yes, I understand. I'll be careful to make sure it won't crash the old >> >> versioned leader. >> >> But basically, it won't, because we appended the new field into the >> last of >> >> the ConsumerProtocolSubscription, which means, when read/deserialize >> the >> >> Subscription metadata, the old versioned leader will just read the head >> >> part of the data. >> >> >> >> Thanks for the reminder! >> >> >> >> Luke >> >> >> >> On Thu, Dec 9, 2021 at 4:00 AM Guozhang Wang <wangg...@gmail.com> >> wrote: >> >> >> >> > Hi Luke, >> >> > >> >> > Thanks for the KIP. >> >> > >> >> > One thing I'd like to double check is that, since the >> >> > ConsumerProtocolSubscription is not auto generated from the json >> file, we >> >> > need to make sure the old-versioned leader would be able to ignore >> the >> >> new >> >> > field during an upgrade e.g. without crashing. Other than that, the >> KIP >> >> > lgtm. >> >> > >> >> > Guozhang >> >> > >> >> > On Tue, Dec 7, 2021 at 6:16 PM Luke Chen <show...@gmail.com> wrote: >> >> > >> >> > > Hi Colin, >> >> > > >> >> > > I'm not quite sure if I understand your thoughts correctly. >> >> > > If I was wrong, please let me know. >> >> > > >> >> > > Also, I'm not quite sure how I could lock this feature to a new IBP >> >> > > version. >> >> > > I saw "KIP-584: Versioning scheme for features" is still under >> >> > development. >> >> > > Not sure if I need to lock the IBP version, how should I do? >> >> > > >> >> > > Thank you. >> >> > > Luke >> >> > > >> >> > > On Tue, Dec 7, 2021 at 9:41 PM Luke Chen <show...@gmail.com> >> wrote: >> >> > > >> >> > > > Hi Colin, >> >> > > > >> >> > > > Thanks for your comments. I've updated the KIP to mention about >> the >> >> KIP >> >> > > > won't affect current broker side behavior. >> >> > > > >> >> > > > > One scenario that we need to consider is what happens during a >> >> > rolling >> >> > > > upgrade. If the coordinator moves back and forth between brokers >> with >> >> > > > different IBPs, it seems that the same epoch numbers could be >> reused >> >> > for >> >> > > a >> >> > > > group, if things are done in the obvious manner (old IBP = don't >> read >> >> > or >> >> > > > write epoch, new IBP = do) >> >> > > > >> >> > > > I think this KIP doesn't care about the group epoch number at >> all. >> >> The >> >> > > > subscription metadata is passed from each member to group >> >> coordinator, >> >> > > and >> >> > > > then the group coordinator pass all of them back to the consumer >> >> lead. >> >> > So >> >> > > > even if the epoch number is reused in a group, it should be >> fine. On >> >> > the >> >> > > > other hand, the group coordinator will have no idea if the join >> group >> >> > > > request sent from consumer containing the new subscription >> >> "generation" >> >> > > > field or not, because group coordinator won't deserialize the >> >> metadata. >> >> > > > >> >> > > > I've added also added them into the KIP. >> >> > > > >> >> > > > Thank you. >> >> > > > Luke >> >> > > > >> >> > > > On Mon, Dec 6, 2021 at 10:39 AM Colin McCabe <cmcc...@apache.org >> > >> >> > wrote: >> >> > > > >> >> > > >> Hi Luke, >> >> > > >> >> >> > > >> Thanks for the explanation. >> >> > > >> >> >> > > >> I don't see any description of how the broker decides to use >> the new >> >> > > >> version of ConsumerProtocolSubscription or not. This probably >> needs >> >> to >> >> > > be >> >> > > >> locked to a new IBP version. >> >> > > >> >> >> > > >> One scenario that we need to consider is what happens during a >> >> rolling >> >> > > >> upgrade. If the coordinator moves back and forth between brokers >> >> with >> >> > > >> different IBPs, it seems that the same epoch numbers could be >> reused >> >> > > for a >> >> > > >> group, if things are done in the obvious manner (old IBP = don't >> >> read >> >> > or >> >> > > >> write epoch, new IBP = do). >> >> > > >> >> >> > > >> best, >> >> > > >> Colin >> >> > > >> >> >> > > >> >> >> > > >> On Fri, Dec 3, 2021, at 18:46, Luke Chen wrote: >> >> > > >> > Hi Colin, >> >> > > >> > Thanks for your comment. >> >> > > >> > >> >> > > >> >> How are we going to avoid the situation where the broker >> >> restarts, >> >> > > and >> >> > > >> > the same generation number is reused? >> >> > > >> > >> >> > > >> > Actually, this KIP doesn't have anything to do with the >> brokers. >> >> The >> >> > > >> > "generation" field I added, is in the subscription metadata, >> which >> >> > > will >> >> > > >> not >> >> > > >> > be deserialized by brokers. The metadata is only deserialized >> by >> >> > > >> consumer >> >> > > >> > lead. And for the consumer lead, the only thing the lead cared >> >> > about, >> >> > > is >> >> > > >> > the highest generation of the ownedPartitions among all the >> >> > consumers. >> >> > > >> With >> >> > > >> > the highest generation of the ownedPartitions, the consumer >> lead >> >> can >> >> > > >> > distribute the partitions as sticky as possible, and most >> >> > importantly, >> >> > > >> > without errors. >> >> > > >> > >> >> > > >> > That is, after this KIP, if the broker restarts, and the same >> >> > > generation >> >> > > >> > number is reused, it won't break current rebalance behavior. >> But >> >> > it'll >> >> > > >> help >> >> > > >> > the consumer lead do the sticky assignments correctly. >> >> > > >> > >> >> > > >> > Thank you. >> >> > > >> > Luke >> >> > > >> > >> >> > > >> > On Fri, Dec 3, 2021 at 6:30 AM Colin McCabe < >> co...@cmccabe.xyz> >> >> > > wrote: >> >> > > >> > >> >> > > >> >> How are we going to avoid the situation where the broker >> >> restarts, >> >> > > and >> >> > > >> the >> >> > > >> >> same generation number is reused? >> >> > > >> >> >> >> > > >> >> best, >> >> > > >> >> Colin >> >> > > >> >> >> >> > > >> >> On Tue, Nov 30, 2021, at 16:36, Luke Chen wrote: >> >> > > >> >> > Hi all, >> >> > > >> >> > >> >> > > >> >> > I'd like to start the vote for KIP-792: Add "generation" >> field >> >> > into >> >> > > >> >> > consumer protocol. >> >> > > >> >> > >> >> > > >> >> > The goal of this KIP is to allow the assignor/consumer >> >> > coordinator >> >> > > to >> >> > > >> >> have >> >> > > >> >> > a way to identify the out-of-date members/assignments, to >> avoid >> >> > > >> rebalance >> >> > > >> >> > stuck issues in current protocol. >> >> > > >> >> > >> >> > > >> >> > Detailed description can be found here: >> >> > > >> >> > >> >> > > >> >> >> >> > > >> >> >> > > >> >> > >> >> >> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191336614 >> >> > > >> >> > >> >> > > >> >> > Any feedback is welcome. >> >> > > >> >> > >> >> > > >> >> > Thank you. >> >> > > >> >> > Luke >> >> > > >> >> >> >> > > >> >> >> > > > >> >> > > >> >> > >> >> > >> >> > -- >> >> > -- Guozhang >> >> > >> >> >> > >> > >> > -- >> > -- Guozhang >> >