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é
>> >
>>

Reply via email to