Hey there Jiunn-Yang,

Thanks for taking the time to update the KIP. I noticed the section now has
some crossed out components. I am a little confused since I think this
means we originally took a certain approach, but decided against it later?
Is it possible to explain we took one approach but decided against it later
in words and not crossing out text? I think it will help anyone who reads
this KIP in the future understand.

Thanks again,
Justine

On Sat, Sep 14, 2024 at 6:21 PM 黃竣陽 <s7133...@gmail.com> wrote:

> Hi everyone,
>
> I make some update to KIP-1022 <
>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1022%3A+Formatting+and+Updating+Features
> >
> As part of KIP-584, brokers expose supported version ranges for features,
> which may include 0. Version 0 can indicate either an incomplete feature or
> a disabled one. However, older software versions have an issue in
> SupportedVersionRange that prevents handling ranges that include 0, leading
> to deserialization problems in ApiVersionsResponse.
> One approach is to modify the minimum version from 0 to 1, which passes old
> client validation but removes the ability to disable the feature. Another
> approach is to omit features with min version 0 in requests.
> KAFKA-17011 implements the solution of modifying the minimum version from 0
> to 1 for RPC versions v0 to v3. This passes old client validation but
> removes the ability to disable the feature.
> A related issue occurs when a new broker sends a BrokerRegistrationRequest
> to an old controller, as the old controller does not support version 1. The
> solution is to omit features with version 0 in requests for versions v0 to
> v3. Therefore, we need to adjust the approach to resolve this dilemma.
> In KAFKA-17492, we omit the minimum version of 0 for RPC versions v0 to v3,
> allowing a 3.9 broker to join a 3.8 broker controller.
>
> Please let me know if you have any questions or concerns regarding this
> approach.
> Thanks you,
> Best regard,
> Jiunn-Yang
>
> On 2024/04/02 18:49:50 Justine Olshan wrote:
> > Hi José
> >
> > I originally had each on a new line and then switched to a single line
> > since it looked like a lot of space. I can switch it back.
> >
> > I don't think it makes a big difference if we implement it for both
> tools.
> > Both tools will have use for it.
> >
> > I can change the name to feature-dependencies if that makes it clearer.
> >
> > I can say that we won't allow cycles, but I'm not sure the best way to
> > enforce this.
> >
> > I just put ">" to show output. I can change the color if that makes it
> > clearer.
> >
> > Justine
> >
> > On Tue, Apr 2, 2024 at 11:41 AM José Armando García Sancio
> > <js...@confluent.io.invalid> wrote:
> >
> > > Hi Justine,
> > >
> > > See my comments below.
> > >
> > > On Mon, Apr 1, 2024 at 4:43 PM Justine Olshan
> > > <jo...@confluent.io.invalid> wrote:
> > > > 20. I can update the KIP.
> > >
> > > I took a look at the latest KIP.
> > >
> > > * Should the output of this command "bin/kafka-features.sh
> > > version-mapping --release-version 3.6-IV1" be something like this:
> > > metadata.version=13
> > > transaction.protocol.version=0
> > > group.coordinator.version=0
> > > kraft.version=0
> > >
> > > I added the kraft.version to show the changes that are coming from
> > > KIP-853. I find this formatting much easier to parse by scripts/tools.
> > > They can even use Java's Properties parser if they want.
> > >
> > > * Maybe I missed the discussion but can you talk about why both
> > > "kafka-storage" and "kafka-features" are going to implement the
> > > "version-mapping" and dependencies"? I assume that it is sufficient
> > > for only one (kafka-features) to implement these new commands.
> > >
> > > * For the command "dependencies" in the "kafka-features" command, it
> > > is probably obvious that the dependencies listed are feature version
> > > dependencies. This is not obvious when the user uses "kafka-storage
> > > dependencies".  This reads as the dependencies of kafka-storage.
> > >
> > > * Should we state that Kafka will not allow cycles in the feature
> > > version dependency definition? Meaning the user is not allowed to
> > > define a feature version X which depends on Y which depends on Z which
> > > depends on X.
> > >
> > > * Some of the example output start with the characters "> ". Will the
> > > CLI print those characters or is that just part of the KIP's
> > > formating?
> > >
> > > Thanks,
> > > --
> > > -José
> > >
> >
>

Reply via email to