Thanks for the comprehensive explanation. It is clear now.

Best regards,
Jing

On Fri, Oct 14, 2022 at 9:51 AM Matthias Pohl
<matthias.p...@aiven.io.invalid> wrote:

> Ok, a bit of back-and-forth reading. :-D Thanks for the example. It sounds
> reasonable.
>
> +1 (binding)
>
> On Thu, Oct 13, 2022 at 8:33 PM Chesnay Schepler <ches...@apache.org>
> wrote:
>
> > I will write this all down in the wiki once the vote is over, but here
> > are some example.
> >
> >
> > Let's start out with a happy-case scenario with one connector supporting
> > the last 2 Flink versions.
> > This will commonly be the scenario for connectors when they have been
> > externalized:
> >
> > v1: 1.14-1.15
> >
> >
> > Now we create a v2 that only support 1.15:
> >
> > v1: 1.14-1.15 (patch support)
> > v2: 1.15 (feature support)
> >
> > 4.1) kicks in, both versions getting support, but only the latest
> > getting new features.
> >
> >
> > Now 1.16 is released, which v2 also supports.
> >
> > v1: 1.14-1.15 (patch support)
> > v2: 1.15-1.16 (feature support)
> >
> > Nothing changes.
> >
> >
> > Now 1.17 is released:
> >
> > v1: 1.14-1.15 (no support)
> > v2: 1.15-1.17
> >
> > Here 4.1.a kicks in; v1 supports no supported Flink version and lost
> > support.
> >
> >
> > Now we create v3 targeting 1.17, and shortly thereafter v4, also
> > targeting 1.17, because we messed something up or are just that excited
> > about finally having major releases.
> >
> > v2: 1.15-1.17 (patch support)
> > v3: 1.17 (patch support)
> > v4: 1.17 (feature support)
> >
> > Here 4.1.b kicks in, ensuring that v2 is still supported since we need
> > to support all Flink versions.
> >
> >
> > Now 1.18 is released, with v3 and v4 supporting it.
> >
> > v2: 1.15-1.17 (no support)
> > v3: 1.17 (patch support)
> > v4: 1.17 (feature support)
> >
> > General 4.1) rule kicks in, with only the last 2 major versions being
> > supported.
> >
> > On 13/10/2022 16:25, Jing Ge wrote:
> > > +1 and I would suggest giving a concrete example to explain 4) support.
> > It
> > > is still not quite easy to understand the text. Not many (future)
> > connector
> > > developers could join this discussion. It is better to make it as clear
> > as
> > > possible at the beginning than spend more time explaining multiple
> times.
> > > Just my two cents.
> > >
> > > Best regards,
> > > Jing
> > >
> > > On Thu, Oct 13, 2022 at 2:02 PM Ryan Skraba
> <ryan.skr...@aiven.io.invalid
> > >
> > > wrote:
> > >
> > >> +1 non-binding!  I've been following (and generally agreeing) with the
> > >> thread -- it's a perfectly reasonable way to start, and I'm sure we
> can
> > >> adjust the process if it turns out to be unsuitable or unexpected as
> the
> > >> connectors evolve in their external repositories.
> > >>
> > >> On Thu, Oct 13, 2022 at 12:37 PM Thomas Weise <t...@apache.org> wrote:
> > >>
> > >>> +1 (binding) for the vote and thanks for the explanation
> > >>>
> > >>> On Thu, Oct 13, 2022 at 5:58 AM Chesnay Schepler <ches...@apache.org
> >
> > >>> wrote:
> > >>>
> > >>>> @Thomas:
> > >>>> Version-specific modules that either contain a connector or shims to
> > >>>> support that Flink version.
> > >>>> Alternatively, since the addition of such code (usually) goes
> beyond a
> > >>>> patch release you'd create a new minor version and could have that
> > only
> > >>>> support the later version.
> > >>>>
> > >>>> On 13/10/2022 02:05, Thomas Weise wrote:
> > >>>>> "Branches are not specific to a Flink version. (i.e., no
> v3.2-1.15)"
> > >>>>>
> > >>>>> Sorry for the late question. I could not find in the discussion
> > >> thread
> > >>>> how
> > >>>>> a connector can make use of features of the latest Flink version
> that
> > >>>> were
> > >>>>> not present in the previous Flink version, when branches cannot be
> > >>> Flink
> > >>>>> version specific?
> > >>>>>
> > >>>>> Thanks,
> > >>>>> Thomas
> > >>>>>
> > >>>>> On Wed, Oct 12, 2022 at 4:09 PM Ferenc Csaky
> > >>> <ferenc.cs...@pm.me.invalid
> > >>>>> wrote:
> > >>>>>
> > >>>>>> +1 from my side (non-binding)
> > >>>>>>
> > >>>>>> Best,
> > >>>>>> F
> > >>>>>>
> > >>>>>>
> > >>>>>> ------- Original Message -------
> > >>>>>> On Wednesday, October 12th, 2022 at 15:47, Martijn Visser <
> > >>>>>> martijnvis...@apache.org> wrote:
> > >>>>>>
> > >>>>>>
> > >>>>>>> +1 (binding), I am indeed assuming that Chesnay meant the last
> two
> > >>>> minor
> > >>>>>>> versions as supported.
> > >>>>>>>
> > >>>>>>> Op wo 12 okt. 2022 om 20:18 schreef Danny Cranmer
> > >>>>>> dannycran...@apache.org
> > >>>>>>>> Thanks for the concise summary Chesnay.
> > >>>>>>>>
> > >>>>>>>> +1 from me (binding)
> > >>>>>>>>
> > >>>>>>>> Just one clarification, for "3.1) The Flink versions supported
> by
> > >>> the
> > >>>>>>>> project (last 2 major Flink versions) must be supported.". Do we
> > >>>>>> actually
> > >>>>>>>> mean major here, as in Flink 1.x.x and 2.x.x? Right now we would
> > >>> only
> > >>>>>>>> support Flink 1.15.x and not 1.14.x? I would be inclined to
> > >> support
> > >>>> the
> > >>>>>>>> latest 2 minor Flink versions (major.minor.patch) given that we
> > >> only
> > >>>>>> have 1
> > >>>>>>>> active major Flink version.
> > >>>>>>>>
> > >>>>>>>> Danny
> > >>>>>>>>
> > >>>>>>>> On Wed, Oct 12, 2022 at 2:12 PM Chesnay Schepler
> > >> ches...@apache.org
> > >>>>>>>> wrote:
> > >>>>>>>>
> > >>>>>>>>> Since the discussion
> > >>>>>>>>> (
> > >> https://lists.apache.org/thread/mpzzlpob9ymkjfybm96vz2y2m5fjyvfo)
> > >>>>>> has
> > >>>>>>>>> stalled a bit but we need a conclusion to move forward I'm
> > >> opening
> > >>> a
> > >>>>>>>>> vote.
> > >>>>>>>>>
> > >>>>>>>>> Proposal summary:
> > >>>>>>>>>
> > >>>>>>>>> 1) Branch model
> > >>>>>>>>> 1.1) The default branch is called "main" and used for the next
> > >>> major
> > >>>>>>>>> iteration.
> > >>>>>>>>> 1.2) Remaining branches are called "vmajor.minor". (e.g., v3.2)
> > >>>>>>>>> 1.3) Branches are not specific to a Flink version. (i.e., no
> > >>>>>> v3.2-1.15)
> > >>>>>>>>> 2) Versioning
> > >>>>>>>>> 2.1) Source releases: major.minor.patch
> > >>>>>>>>> 2.2) Jar artifacts: major.minor.match-flink-major.flink-minor
> > >>>>>>>>> (This may imply releasing the exact same connector jar multiple
> > >>> times
> > >>>>>>>>> under different versions)
> > >>>>>>>>>
> > >>>>>>>>> 3) Flink compatibility
> > >>>>>>>>> 3.1) The Flink versions supported by the project (last 2 major
> > >>> Flink
> > >>>>>>>>> versions) must be supported.
> > >>>>>>>>> 3.2) How this is achived is left to the connector, as long as
> it
> > >>>>>>>>> conforms to the rest of the proposal.
> > >>>>>>>>>
> > >>>>>>>>> 4) Support
> > >>>>>>>>> 4.1) The last 2 major connector releases are supported with
> only
> > >>> the
> > >>>>>>>>> latter receiving additional features, with the following
> > >>> exceptions:
> > >>>>>>>>> 4.1.a) If the older major connector version does not support
> any
> > >>>>>>>>> currently supported Flink version, then it is no longer
> > >> supported.
> > >>>>>>>>> 4.1.b) If the last 2 major versions do not cover all supported
> > >>> Flink
> > >>>>>>>>> versions, then the latest connector version that supports the
> > >> older
> > >>>>>>>>> Flink version /additionally /gets patch support.
> > >>>>>>>>> 4.2) For a given major connector version only the latest minor
> > >>>>>> version
> > >>>>>>>>> is supported.
> > >>>>>>>>> (This means if 1.1.x is released there will be no more 1.0.x
> > >>> release)
> > >>>>>>>>> I'd like to clarify that these won't be set in stone for
> > >> eternity.
> > >>>>>>>>> We should re-evaluate how well this model works over time and
> > >>> adjust
> > >>>>>> it
> > >>>>>>>>> accordingly, consistently across all connectors.
> > >>>>>>>>> I do believe that as is this strikes a good balance between
> > >>>>>>>>> maintainability for us and clarity to users.
> > >>>>>>>>>
> > >>>>>>>>> Voting schema:
> > >>>>>>>>>
> > >>>>>>>>> Consensus, committers have binding votes, open for at least 72
> > >>> hours.
> > >>>>>>> --
> > >>>>>>> Martijn
> > >>>>>>> https://twitter.com/MartijnVisser82
> > >>>>>>> https://github.com/MartijnVisser
> > >>>>
> > >>>>
> >
> >
>

Reply via email to