Thanks Colin, This makes sense to me. Namely in the case where we perhaps don't want to support version 0 anymore, we need the range to be able to not include 0. (In other words, we can't assume 0 is supported) It is unfortunate that this change is a bit tricky, but I think it's the best option.
Can you clarify > The server will simply leave out the features whose minimum supported value is 0 for clients that send v3 For 3.8, I planned to set the 0s in the response to 1. Is it better to suppress the zero version features in the response so we are consistent between trunk and 3.8? Thanks, Justine On Fri, Jun 21, 2024 at 4:34 PM Colin McCabe <cmcc...@apache.org> wrote: > Hi all, > > It seems that there was a bug in older versions of Kafka which caused > deserialization problems when a supported feature range included 0. For > example, the range for group.version of [0, 1] would be a problem in this > situation. > > This obviously makes supportedVersions kind of useless. Any feature that > doesn't exist today is effectively at v0 today (v0 is equivalent to "off"). > But if we can't declare that the server supports [0, 1] or similar, we > can't declare that it supports the feature being off. Therefore, no rolling > upgrades are possible. > > We noticed this bug during the 3.8 release when we noticed problems in > upgrade tests. As an addendum to KIP-1022, we're adding the following > solution: > > - There will be a new v4 for ApiVersionsRequest > > - Clients that sent v4 will promise to correctly handle ranges that start > with 0, such as [0, 1] > > - The server will simply leave out the features whose minimum supported > value is 0 for clients that send v3 > > - ApiVersionsRequest v4 will be supported in AK 3.9 and above. AK 3.8 will > ship with ApiVersionsRequest v3 just as today. > > thanks, > Colin > > > On Mon, Apr 15, 2024, at 11:01, Justine Olshan wrote: > > Hey folks, > > > > Thanks everyone! I will go ahead and call it. > > The KIP passes with the following +1 votes: > > > > - Andrew Schofield (non-binding) > > - David Jacot (binding) > > - José Armando García Sancio (binding) > > - Jun Rao (binding) > > > > Thanks again, > > Justine > > > > On Fri, Apr 12, 2024 at 11:16 AM Jun Rao <j...@confluent.io.invalid> > wrote: > > > >> Hi, Justine, > >> > >> Thanks for the KIP. +1 > >> > >> Jun > >> > >> On Wed, Apr 10, 2024 at 9:13 AM José Armando García Sancio > >> <jsan...@confluent.io.invalid> wrote: > >> > >> > Hi Justine, > >> > > >> > +1 (binding) > >> > > >> > Thanks for the improvement. > >> > -- > >> > -José > >> > > >> >