Thanks for updating the KIP, Justine.

Jun

On Tue, Jul 30, 2024 at 1:37 PM Justine Olshan <jols...@confluent.io.invalid>
wrote:

> I added this update to the end of the section Colin added.
>
> Justine
>
> On Tue, Jul 30, 2024 at 11:01 AM Jun Rao <j...@confluent.io.invalid> wrote:
>
> > Hi, Colin,
> >
> > Thanks for the update. We also excluded supported features with
> maxVersion
> > of 0 from both ApiVersionResponse and BrokerRegistrationRequest, and
> > excluded finalized features with version of 0 from ApiVersionResponse. It
> > would be useful to document those too.
> >
> > Jun
> >
> > On Mon, Jul 29, 2024 at 9:25 PM Colin McCabe <cmcc...@apache.org> wrote:
> >
> > > Hi Jun,
> > >
> > > Just to close the loop on this... the KIP now mentions both
> > > ApiVersionResponse and BrokerRegistrationRequest.
> > >
> > > best,
> > > Colin
> > >
> > > On Mon, Jul 8, 2024, at 14:57, Jun Rao wrote:
> > > > Hi, Colin,
> > > >
> > > > Thanks for the update. Since the PR also introduces a new version of
> > > > BrokerRegistrationRequest, could we include that change in the KIP
> > update
> > > > too?
> > > >
> > > > Jun
> > > >
> > > > On Mon, Jul 8, 2024 at 11:08 AM Colin McCabe <cmcc...@apache.org>
> > wrote:
> > > >
> > > >> Hi all,
> > > >>
> > > >> I've updated the approach in
> > https://github.com/apache/kafka/pull/16421
> > > >> so that we change the minVersion=0 to minVersion=1 in older
> > > >> ApiVersionsResponses.
> > > >>
> > > >> I hope we can get this in soon and unblock the features that are
> > waiting
> > > >> for it!
> > > >>
> > > >> best,
> > > >> Colin
> > > >>
> > > >> On Wed, Jul 3, 2024, at 10:55, Jun Rao wrote:
> > > >> > Hi, David,
> > > >> >
> > > >> > Thanks for the reply. In the common case, there is no difference
> > > between
> > > >> > omitting just v0 of the feature or omitting the feature
> completely.
> > > It's
> > > >> > just when an old client is used, there is some difference. To me,
> > > >> > omitting just v0 of the feature seems slightly better for the old
> > > client.
> > > >> >
> > > >> > Jun
> > > >> >
> > > >> > On Wed, Jul 3, 2024 at 9:45 AM David Jacot
> > > <dja...@confluent.io.invalid>
> > > >> > wrote:
> > > >> >
> > > >> >> Hi Jun, Colin,
> > > >> >>
> > > >> >> Thanks for your replies.
> > > >> >>
> > > >> >> If the FeatureCommand relies on version 0 too, my suggestion does
> > not
> > > >> work.
> > > >> >> Omitting the features for old clients as suggested by Colin seems
> > > fine
> > > >> for
> > > >> >> me. In practice, administrators will usually use a version of
> > > >> >> FeatureCommand matching the cluster version so the impact is not
> > too
> > > bad
> > > >> >> knowing that the first features will be introduced from 3.9 on.
> > > >> >>
> > > >> >> Best,
> > > >> >> David
> > > >> >>
> > > >> >> On Tue, Jul 2, 2024 at 2:15 AM Colin McCabe <cmcc...@apache.org>
> > > wrote:
> > > >> >>
> > > >> >> > Hi David,
> > > >> >> >
> > > >> >> > In the ApiVersionsResponse, we really don't have an easy way of
> > > >> mapping
> > > >> >> > finalizedVersion = 1 to "off" in older releases such as 3.7.0.
> > For
> > > >> >> example,
> > > >> >> > if a 3.9.0 broker advertises that it has finalized
> group.version
> > =
> > > 1,
> > > >> >> that
> > > >> >> > will be treated by 3.7.0 as a brand new feature, not as
> "KIP-848
> > is
> > > >> off."
> > > >> >> > However, I suppose we could work around this by not setting a
> > > >> >> > finalizedVersion at all for group.version (or any other
> feature)
> > if
> > > >> its
> > > >> >> > finalized level was 1. We could also work around the "deletion
> =
> > > set
> > > >> to
> > > >> >> 0"
> > > >> >> > issue on the server side. The server can translate requests to
> > set
> > > the
> > > >> >> > finalized level to 0, into requests to set it to 1.
> > > >> >> >
> > > >> >> > So maybe this solution is worth considering, although it's
> > > >> unfortunate to
> > > >> >> > lose 0. I suppose we'd have to special case metadata.version
> > being
> > > >> set to
> > > >> >> > 1, since that was NOT equivalent to it being "off"
> > > >> >> >
> > > >> >> > best,
> > > >> >> > Colin
> > > >> >> >
> > > >> >> >
> > > >> >> > On Mon, Jul 1, 2024, at 10:11, Jun Rao wrote:
> > > >> >> > > Hi, David,
> > > >> >> > >
> > > >> >> > > Yes, that's another option. It probably has its own
> challenges.
> > > For
> > > >> >> > > example, the FeatureCommand tool currently treats disabling a
> > > >> feature
> > > >> >> as
> > > >> >> > > setting the version to 0. It would be useful to get Jose's
> > > opinion
> > > >> on
> > > >> >> > this
> > > >> >> > > since he introduced version 0 in the kraft.version feature.
> > > >> >> > >
> > > >> >> > > Thanks,
> > > >> >> > >
> > > >> >> > > Jun
> > > >> >> > >
> > > >> >> > > On Sun, Jun 30, 2024 at 11:48 PM David Jacot
> > > >> >> <dja...@confluent.io.invalid
> > > >> >> > >
> > > >> >> > > wrote:
> > > >> >> > >
> > > >> >> > >> Hi Jun, Colin,
> > > >> >> > >>
> > > >> >> > >> Have we considered sticking with the range going from
> version
> > 1
> > > to
> > > >> N
> > > >> >> > where
> > > >> >> > >> version 1 would be the equivalent of "disabled"? In the
> > > >> group.version
> > > >> >> > case,
> > > >> >> > >> we could introduce group.version=1 that does basically
> nothing
> > > and
> > > >> >> > >> group.version=2 that enables the new protocol. I suppose
> that
> > we
> > > >> could
> > > >> >> > do
> > > >> >> > >> the same for the other features. I agree that it is less
> > elegant
> > > >> but
> > > >> >> it
> > > >> >> > >> would avoid all the backward compatibility issues.
> > > >> >> > >>
> > > >> >> > >> Best,
> > > >> >> > >> David
> > > >> >> > >>
> > > >> >> > >> On Fri, Jun 28, 2024 at 6:02 PM Jun Rao
> > > <j...@confluent.io.invalid>
> > > >> >> > wrote:
> > > >> >> > >>
> > > >> >> > >> > Hi, Colin,
> > > >> >> > >> >
> > > >> >> > >> > Yes, #3 is the scenario that I was thinking about.
> > > >> >> > >> >
> > > >> >> > >> > In either approach, there will be some information missing
> > in
> > > the
> > > >> >> old
> > > >> >> > >> > client. It seems that we should just pick the one that's
> > less
> > > >> wrong.
> > > >> >> > In
> > > >> >> > >> the
> > > >> >> > >> > more common case when a feature is finalized on the
> server,
> > > >> >> > presenting a
> > > >> >> > >> > supported feature with a range of 1-1 seems less wrong
> than
> > > >> omitting
> > > >> >> > it
> > > >> >> > >> in
> > > >> >> > >> > the output of "kafka-features describe".
> > > >> >> > >> >
> > > >> >> > >> > Thanks,
> > > >> >> > >> >
> > > >> >> > >> > Jun
> > > >> >> > >> >
> > > >> >> > >> > On Thu, Jun 27, 2024 at 9:52 PM Colin McCabe <
> > > cmcc...@apache.org
> > > >> >
> > > >> >> > wrote:
> > > >> >> > >> >
> > > >> >> > >> > > Hi Jun,
> > > >> >> > >> > >
> > > >> >> > >> > > This is a fair question. I think there's a few different
> > > >> scenarios
> > > >> >> > to
> > > >> >> > >> > > consider:
> > > >> >> > >> > >
> > > >> >> > >> > > 1. mixed server software versions in a single cluster
> > > >> >> > >> > >
> > > >> >> > >> > > 2. new client software + old server software
> > > >> >> > >> > >
> > > >> >> > >> > > 3. old client software + new server software
> > > >> >> > >> > >
> > > >> >> > >> > > In scenario #1 and #2, we have old (pre-3.9) server
> > > software in
> > > >> >> the
> > > >> >> > >> mix.
> > > >> >> > >> > > This old software won't support features like
> > group.version
> > > and
> > > >> >> > >> > > kraft.version. As we know, there are no features
> supported
> > > in
> > > >> 3.8
> > > >> >> > and
> > > >> >> > >> > older
> > > >> >> > >> > > except metadata.version itself. So the fact that we
> leave
> > > out
> > > >> some
> > > >> >> > >> stuff
> > > >> >> > >> > > from the ApiVersionResponse isn't terribly significant.
> We
> > > >> weren't
> > > >> >> > >> going
> > > >> >> > >> > to
> > > >> >> > >> > > be able to enable those post-3.8 features anyway, since
> > > >> enabling a
> > > >> >> > >> > feature
> > > >> >> > >> > > requires ALL server nodes to support it.
> > > >> >> > >> > >
> > > >> >> > >> > > Scenario #3 is more interesting. With new server
> software,
> > > >> >> features
> > > >> >> > >> like
> > > >> >> > >> > > group.version and kraft.version may be enabled. But due
> to
> > > the
> > > >> >> > >> > KAFKA-17011
> > > >> >> > >> > > bug, we cannot accurately communicate the supported
> > feature
> > > >> range
> > > >> >> > back
> > > >> >> > >> to
> > > >> >> > >> > > the old client.
> > > >> >> > >> > >
> > > >> >> > >> > > What is the impact of this? It depends on what the
> client
> > > is.
> > > >> >> Today,
> > > >> >> > >> the
> > > >> >> > >> > > only client that cares about feature versions is admin
> > > client,
> > > >> >> which
> > > >> >> > >> can
> > > >> >> > >> > > surface them through the Admin.describeFeatures API. So
> if
> > > we
> > > >> omit
> > > >> >> > the
> > > >> >> > >> > > supported feature range, admi client won't report it. If
> > we
> > > >> fudge
> > > >> >> > it by
> > > >> >> > >> > > reporting it as 1-1 instead of 0-1, admin client will
> > report
> > > >> the
> > > >> >> > fudged
> > > >> >> > >> > > version.
> > > >> >> > >> > >
> > > >> >> > >> > > In theory, there could be other clients looking at the
> > > >> supported
> > > >> >> > >> feature
> > > >> >> > >> > > ranges later, but I guess those will be post-3.8, if
> they
> > > ever
> > > >> >> > exist,
> > > >> >> > >> and
> > > >> >> > >> > > so not subject to this problem.
> > > >> >> > >> > >
> > > >> >> > >> > > AdminClient returns a separate map for "supported
> > features"
> > > and
> > > >> >> > >> > "finalized
> > > >> >> > >> > > features." So leaving out the supported versions for
> > > >> group.version
> > > >> >> > and
> > > >> >> > >> > > kraft.version will not prevent the client from returning
> > the
> > > >> >> > finalized
> > > >> >> > >> > > versions of those features to the old client.
> > > >> >> > >> > >
> > > >> >> > >> > > So basically we have a choice between missing
> information
> > in
> > > >> >> > >> > > Admin.describeFeatures and wrong information. I would
> lean
> > > >> towards
> > > >> >> > the
> > > >> >> > >> > > missing information path, but I guess we should try out
> an
> > > old
> > > >> >> > build of
> > > >> >> > >> > > kafka-features.sh against a server with one of the new
> > > features
> > > >> >> > >> enabled,
> > > >> >> > >> > to
> > > >> >> > >> > > make sure it looks the way we want.
> > > >> >> > >> > >
> > > >> >> > >> > > best,
> > > >> >> > >> > > Colin
> > > >> >> > >> > >
> > > >> >> > >> > >
> > > >> >> > >> > > On Thu, Jun 27, 2024, at 14:01, Jun Rao wrote:
> > > >> >> > >> > > > Hi, Colin,
> > > >> >> > >> > > >
> > > >> >> > >> > > > ApiVersionResponse includes both supported and
> finalized
> > > >> >> > features. If
> > > >> >> > >> > we
> > > >> >> > >> > > > only suppress features in the supported field, but not
> > in
> > > the
> > > >> >> > >> finalized
> > > >> >> > >> > > > field, it can potentially lead to inconsistency in the
> > > older
> > > >> >> > client.
> > > >> >> > >> > For
> > > >> >> > >> > > > example, if a future feature supporting V0 is
> finalized
> > in
> > > >> the
> > > >> >> > >> broker,
> > > >> >> > >> > an
> > > >> >> > >> > > > old client issuing V3 of ApiVersionRequest will see
> the
> > > >> feature
> > > >> >> in
> > > >> >> > >> the
> > > >> >> > >> > > > finalized field, but not in the supported field.
> > > >> >> > >> > > >
> > > >> >> > >> > > > An alternative approach is to still include all
> features
> > > in
> > > >> the
> > > >> >> > >> > supported
> > > >> >> > >> > > > field, but replace minVersion of 0 with 1. This may
> > still
> > > >> lead
> > > >> >> to
> > > >> >> > >> > > > inconsistency if a future feature is finalized at
> > version
> > > 0.
> > > >> >> > However,
> > > >> >> > >> > > since
> > > >> >> > >> > > > downgrading is less frequent than upgrading, this
> > approach
> > > >> seems
> > > >> >> > >> > slightly
> > > >> >> > >> > > > more consistent.
> > > >> >> > >> > > >
> > > >> >> > >> > > > No matter what approach we take, it would be useful to
> > > >> document
> > > >> >> > this
> > > >> >> > >> > > > inconsistency to the old client.
> > > >> >> > >> > > >
> > > >> >> > >> > > > Thanks,
> > > >> >> > >> > > >
> > > >> >> > >> > > > Jun
> > > >> >> > >> > > >
> > > >> >> > >> > > > On Wed, Jun 26, 2024 at 1:18 PM Jun Rao <
> > j...@confluent.io
> > > >
> > > >> >> wrote:
> > > >> >> > >> > > >
> > > >> >> > >> > > >> Thanks for the reply, Justine and Colin. Sounds good
> to
> > > me.
> > > >> >> > >> > > >>
> > > >> >> > >> > > >> Jun
> > > >> >> > >> > > >>
> > > >> >> > >> > > >> On Wed, Jun 26, 2024 at 12:54 PM Colin McCabe <
> > > >> >> > cmcc...@apache.org>
> > > >> >> > >> > > wrote:
> > > >> >> > >> > > >>
> > > >> >> > >> > > >>> Hi Justine,
> > > >> >> > >> > > >>>
> > > >> >> > >> > > >>> Yes, that was what I was thinking.
> > > >> >> > >> > > >>>
> > > >> >> > >> > > >>> best,
> > > >> >> > >> > > >>> Colin
> > > >> >> > >> > > >>>
> > > >> >> > >> > > >>> On Mon, Jun 24, 2024, at 11:11, Justine Olshan
> wrote:
> > > >> >> > >> > > >>> > My understanding is that the tools that don't rely
> > on
> > > >> >> > ApiVersions
> > > >> >> > >> > > should
> > > >> >> > >> > > >>> > still return 0s when it is the correct value. I
> > > believe
> > > >> >> these
> > > >> >> > >> > > commands
> > > >> >> > >> > > >>> do
> > > >> >> > >> > > >>> > not require this API and thus can show 0 as
> > versions.
> > > >> >> > >> > > >>> >
> > > >> >> > >> > > >>> > Likewise, when the old ApiVersionsRequest is used
> to
> > > >> >> describe
> > > >> >> > >> > > features,
> > > >> >> > >> > > >>> we
> > > >> >> > >> > > >>> > can't return 0 versions and we won't be able to
> see
> > > group
> > > >> >> > version
> > > >> >> > >> > > set.
> > > >> >> > >> > > >>> > However, the new api will return 0 and the group
> > > version
> > > >> >> > >> correctly.
> > > >> >> > >> > > >>> >
> > > >> >> > >> > > >>> > Let me know if this is consistent with your
> > thoughts,
> > > >> Colin.
> > > >> >> > >> > > >>> >
> > > >> >> > >> > > >>> > Justine
> > > >> >> > >> > > >>> >
> > > >> >> > >> > > >>> > On Mon, Jun 24, 2024 at 10:44 AM Jun Rao
> > > >> >> > >> <j...@confluent.io.invalid
> > > >> >> > >> > >
> > > >> >> > >> > > >>> wrote:
> > > >> >> > >> > > >>> >
> > > >> >> > >> > > >>> >> Hi, Colin,
> > > >> >> > >> > > >>> >>
> > > >> >> > >> > > >>> >> Thanks for the update. The proposed change seems
> > > >> reasonable
> > > >> >> > to
> > > >> >> > >> me.
> > > >> >> > >> > > >>> Just one
> > > >> >> > >> > > >>> >> clarification.
> > > >> >> > >> > > >>> >>
> > > >> >> > >> > > >>> >> The KIP can show version 0 of certain features
> with
> > > >> >> > >> > version-mapping
> > > >> >> > >> > > >>> >> and feature-dependencies. Will that part change?
> > For
> > > >> >> example,
> > > >> >> > >> will
> > > >> >> > >> > > the
> > > >> >> > >> > > >>> tool
> > > >> >> > >> > > >>> >> show version 0 features with --release-version
> 3.8
> > or
> > > >> do we
> > > >> >> > >> > exclude
> > > >> >> > >> > > >>> them.
> > > >> >> > >> > > >>> >>
> > > >> >> > >> > > >>> >> bin/kafka-storage.sh version-mapping
> > > --release-version
> > > >> >> > 3.6-IV1
> > > >> >> > >> > > >>> >>     metadata.version=13 (3.6-IV1)
> > > transaction.version=0
> > > >> >> > >> > > >>> group.version=0
> > > >> >> > >> > > >>> >>     kraft.version=0
> > > >> >> > >> > > >>> >>
> > > >> >> > >> > > >>> >> Jun
> > > >> >> > >> > > >>> >>
> > > >> >> > >> > > >>> >> On Sat, Jun 22, 2024 at 2:19 PM José Armando
> García
> > > >> Sancio
> > > >> >> > >> > > >>> >> <jsan...@confluent.io.invalid> wrote:
> > > >> >> > >> > > >>> >>
> > > >> >> > >> > > >>> >> > Thanks for the update Colin. The changes make
> > > sense to
> > > >> >> me.
> > > >> >> > >> > > >>> >> >
> > > >> >> > >> > > >>> >> > Are you planning to update the KIP to reflect
> > this
> > > new
> > > >> >> RPC
> > > >> >> > >> > > version?
> > > >> >> > >> > > >>> It
> > > >> >> > >> > > >>> >> > would be good to document the semantics
> explained
> > > >> above
> > > >> >> in
> > > >> >> > the
> > > >> >> > >> > > KIP.
> > > >> >> > >> > > >>> >> >
> > > >> >> > >> > > >>> >> > Thanks!
> > > >> >> > >> > > >>> >> >
> > > >> >> > >> > > >>> >> > On Fri, Jun 21, 2024 at 8:22 PM Justine Olshan
> > > >> >> > >> > > >>> >> > <jols...@confluent.io.invalid> wrote:
> > > >> >> > >> > > >>> >> > >
> > > >> >> > >> > > >>> >> > > Ok makes sense. I will update my PR.
> > > >> >> > >> > > >>> >> > >
> > > >> >> > >> > > >>> >> > > On Fri, Jun 21, 2024 at 5:09 PM Colin McCabe
> <
> > > >> >> > >> > > cmcc...@apache.org>
> > > >> >> > >> > > >>> >> wrote:
> > > >> >> > >> > > >>> >> > >
> > > >> >> > >> > > >>> >> > > > I think it's better to suppress the
> response
> > in
> > > >> v3.
> > > >> >> The
> > > >> >> > >> > issue
> > > >> >> > >> > > >>> with
> > > >> >> > >> > > >>> >> > > > modifying it is that there may be scenarios
> > > where
> > > >> [1,
> > > >> >> > 1]
> > > >> >> > >> is
> > > >> >> > >> > > the
> > > >> >> > >> > > >>> >> actual
> > > >> >> > >> > > >>> >> > > > supported range, and we'd want to know
> that.
> > > But
> > > >> >> > leaving
> > > >> >> > >> out
> > > >> >> > >> > > the
> > > >> >> > >> > > >>> >> > feature
> > > >> >> > >> > > >>> >> > > > should be OK for older clients (it will be
> > the
> > > >> case
> > > >> >> > with
> > > >> >> > >> > > clients
> > > >> >> > >> > > >>> old
> > > >> >> > >> > > >>> >> > enough
> > > >> >> > >> > > >>> >> > > > to send a v0, v1, or v2 ApiVersionsRequest
> > > anyway)
> > > >> >> > >> > > >>> >> > > >
> > > >> >> > >> > > >>> >> > > > best,
> > > >> >> > >> > > >>> >> > > > Colin
> > > >> >> > >> > > >>> >> > > >
> > > >> >> > >> > > >>> >> > > > On Fri, Jun 21, 2024, at 16:46, Justine
> > Olshan
> > > >> wrote:
> > > >> >> > >> > > >>> >> > > > > 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é
> > > >> >> > >> > > >>> >> > > > >> >> >
> > > >> >> > >> > > >>> >> > > > >> >>
> > > >> >> > >> > > >>> >> > > > >>
> > > >> >> > >> > > >>> >> > > >
> > > >> >> > >> > > >>> >> >
> > > >> >> > >> > > >>> >> >
> > > >> >> > >> > > >>> >> >
> > > >> >> > >> > > >>> >> > --
> > > >> >> > >> > > >>> >> > -José
> > > >> >> > >> > > >>> >> >
> > > >> >> > >> > > >>> >>
> > > >> >> > >> > > >>>
> > > >> >> > >> > > >>
> > > >> >> > >> > >
> > > >> >> > >> >
> > > >> >> > >>
> > > >> >> >
> > > >> >>
> > > >>
> > >
> >
>

Reply via email to