> This will allow us to get an "alpha" version of the KIP-500 mode out
early for people to experiment with

I think this is a non-sequitur. It's not a requirement that KIP-500 be
merged to master and released in order for people to experiment with it.
Nor does it sound great to call for a major release (3.0) in order to get
an "alpha version ... out early".

Ryanne

On Wed, May 6, 2020 at 10:52 PM Colin McCabe <cmcc...@apache.org> wrote:

> On Mon, May 4, 2020, at 17:12, Ryanne Dolan wrote:
> > Hey Colin, I think we should wait until after KIP-500's "bridge
> > release" so there is a clean break from Zookeeper after 3.0. The
> > bridge release by definition is an attempt to not break anything, so
> > it theoretically doesn't warrant a major release.
>
> Hi Ryanne,
>
> I think it's important to clarify this a little bit.  The bridge release
> (really, releases, plural) allow you to upgrade from a cluster that is
> using ZooKeeper to one that is not using ZooKeeper.  But, that doesn't
> imply that the bridge release itself doesn't break anything.  Upgrading
> to the bridge release itself might involve some minor incompatibility.
>
> Kafka does occasionally have incompatible changes.  In those cases, we
> bump the major version number.  One example is that when we went from
> Kafka 1.x to Kafka 2.0, we dropped support for JDK7.  This is an
> incompatible change.
>
> In fact, we know that the bridge release will involve at least one
> incompatible change.  We will need to drop support for the --zookeeper
> flags in the command-line tools.
>
> We've been preparing for this change for a long time.  People have spent
> a lot of effort designing new APIs that can be used instead of the old
> zookeeper-based code that some of the command-line tools used.  We have
> also deprecated the old ZK-based flags.  But at the end of the day, it
> is still an incompatible change.  So it's unfortunately not possible for
> the
> bridge release to be a 2.x release.
>
> > If that's not the case (i.e. if a single "bridge release" turns out to
> > be impractical), we should consider forking 3.0 while maintaining a
> > line of Zookeeper-dependent Kafka in 2.x. That way 3.x can evolve
> > dramatically without breaking the 2.x line. In particular, anything
> > related to removing Zookeeper could land in pre-3.0 while every other
> > feature targets 2.6.
>
> Just to be super clear about this, what we want to do here is support
> operating in __either__ KIP-500 mode and legacy mode for a while.  So the
> same branch will have support for both the old way and the new way of
> managing metadata.
>
> This will allow us to get an "alpha" version of the KIP-500 mode out early
> for people to experiment with.  It also greatly reduces the number of Kafka
> releases we have to make, and the amount of backporting we have to do.
>
> >
> > If you are proposing 2.6 should be the "bridge release", I think this
> > is premature given Kafka's time-based release schedule. If the bridge
> > features happen to be merged before 2.6's feature freeze, then sure --
> > let's make that the bridge release in retrospect. And if we get all
> > the post-Zookeeper features merged before 2.7, I'm onboard with naming
> > it "3.0" instead.
> >
> > That said, we should aim to remove legacy MirrorMaker before 3.0 as
> > well. I'm happy to drive that additional breaking change. Maybe 2.6
> > can be the "bridge" for MM2 as well.
>
> I don't have a strong opinion either way about this, but if we want to
> remove the original MirrorMaker, we have to deprecate it first, right?  Are
> we ready to do that?
>
> best,
> Colin
>
> >
> > Ryanne
> >
> > On Mon, May 4, 2020, 5:05 PM Colin McCabe <cmcc...@apache.org> wrote:
> >
> > > Hi all,
> > >
> > > We've had a few proposals recently for incompatible changes.  One of
> > > them is my KIP-604: Remove ZooKeeper Flags from the Administrative
> > > Tools.  The other is Boyang's KIP-590: Redirect ZK Mutation
> > > Protocols to the Controller.  I think it's time to start thinking
> > > about Kafka 3.0. Specifically, I think we should move to 3.0 after
> > > the 2.6 release.
> > >
> > > From the perspective of KIP-500, in Kafka 3.x we'd like to make
> > > running in a ZooKeeper-less mode possible (but not yet the default.)
> > > This is the motivation behind KIP-590 and KIP-604, as well as some
> > > of the other KIPs we've done recently.  Since it will take some time
> > > to stabilize the new ZooKeeper-free Kafka code, we will hide it
> > > behind an option initially. (We'll have a KIP describing this all in
> > > detail soon.)
> > >
> > > What does everyone think about having Kafka 3.0 come up next after
> > > 2.6? Are there any other things we should change in the 2.6 -> 3.0
> > > transition?
> > >
> > > best, Colin
> > >
> >
>

Reply via email to