Hi Colin,
Thanks for the KIP.

AS1: I think that the KIP is not going to prove that useful because of the 
introduction of new features as
the recent releases have occurred. I'll give a couple of examples.

ELR was introduced as a preview in AK 4.0 and a feature enabled by default in 
AK 4.1. The AK 4.0 binaries
understand how to do ELR, but earlier versions would not. Doesn't that mean 
that it would be
disallowed to downgrade the MV beyond 4.0 if ELR had been enabled on the 
cluster?

We have a similar situation occurring with KIP-932 in the future (preview in AK 
4.1 using a feature,
enabled by default in AK 4.2). And again with KIP-1071 (preview in AK 4.2 using 
a feature,
enabled by default in AK 4.3, I believe is the plan).

Similarly, would we need to be able to re-enable the old group coordinator even 
though it doesn't
understand the new records on __consumer_offsets?

So, my point is that the scope of downgrades which are safe or even possible is 
very limited and the
prerequisites of features which we already have defined mean that we might need 
to disable features
which were previously defaulted on, and potentially clean up behind them so 
that they properly
re-initialize if the cluster is subsequently upgraded back to a point where the 
features are re-enabled.
I worry that we are making a combinatorial testing situation which will be 
expensive.

Thanks,
Andrew

________________________________________
From: Colin McCabe <cmcc...@apache.org>
Sent: 08 April 2025 20:46
To: dev@kafka.apache.org <dev@kafka.apache.org>
Subject: Re: KIP-1155: Metadata Version Downgrades [DISCUSS]

On Tue, Apr 8, 2025, at 09:55, Justine Olshan wrote:
> Hey PoAn,
>
> Just wanted to make a clarification. TV2 doesn't need to be downgraded if
> the MV is lower than the bootstrap MV for the TV.
> The bootstrap MV is only used when the cluster is created to get the
> default feature versions. As long as the TV version is a production version
> for the Kafka release, you can change MV to whatever you choose. It is
> decoupled from the MV at this point.
>
> Thanks,
> Justine
>

Hi Justine,

Thanks for the clarification. Yes, the "default versions" of features don't 
necessarily imply hard dependencies. But if there are hard dependencies (where 
a feature needs a certain MV), we will enforce that.

best,
Colin


> On Tue, Apr 8, 2025 at 2:01 AM PoAn Yang <yangp...@gmail.com> wrote:
>
>> Hi Colin,
>>
>> Thanks for the KIP. It’s good to give users more flexibility to downgrade
>> metadata.version.
>>
>> PY1: Each feature has bootstrapMetadataVersion. For example, TV_2 is
>> IBP_4_0_IV2.
>> Assume that a cluster uses TV_2 and metadata.version 4.0-IV2. If a user
>> downgrades
>> metadata.version to 3.9-IV0, will the controller check TransactionVersion
>> and reject
>> the request?
>>
>> PY2: After users downgrade metadata.version, can they also restart server
>> with old binary
>> version? If they can, we need to add related end-to-end ducktape test.
>>
>> Thanks,
>> PoAn
>>
>> > On Apr 8, 2025, at 6:04 AM, Colin McCabe <cmcc...@apache.org> wrote:
>> >
>> > Hi all,
>> >
>> > I posted a new KIP about support metadata.version downgrades. Take a
>> look here:
>> >
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1155%3A+Metadata+Version+Downgrades
>> >
>> > thanks,
>> > Colin
>>
>>

Reply via email to