Hi Justine,
Thanks for the KIP. This area of Kafka is complicated and making it easier is 
good.

When I use the `kafka-features.sh` tool to describe the features on my cluster, 
I find that there’s a
single feature called “metadata.version”. I think this KIP does a handful of 
things:

1) It introduces the idea of two new features, TV and GCV, without giving them 
concrete names or
describing their behaviour.
2) It introduces a new flag on the storage tool to enable advanced users to 
control individual features
when they format storage for a new broker.
3) It introduces a new flag on the features tool to enable a set of latest 
stable features for a given
version to be enabled all together.

I think that (1) probably shouldn’t be in this KIP unless there are concrete 
details. Maybe this KIP is enabling
the operator experience when we introduce TV and GCV in other KIPs. I don’t 
believe the plan is to enable
the new group coordinator with a feature, and it seems unnecessary to me. I 
think it’s more compelling for TV
given the changes in transactions.

For (2) and (3), it would be helpful to explicit about the syntax for the 
enhancements to the tool. I think
that for the features tool, `--release-version` is an optional parameter which 
requires a RELEASE_VERSION
argument. I wonder whether it would be helpful to have `--latest-stable` as an 
option too.

Thanks,
Andrew

> On 26 Feb 2024, at 21:26, Justine Olshan <jols...@confluent.io.INVALID> wrote:
>
> Hello folks,
>
> I'm proposing a KIP that allows for setting and upgrading new features
> (other than metadata version) via the kafka storage format and feature
> tools. This KIP extends on the feature versioning changes introduced by
> KIP-584 by allowing for the features to be set and upgraded.
>
> Please take a look:
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1023%3A+Formatting+and+Updating+Features
>
> Thanks,
>
> Justine

Reply via email to