Sounds good. +1

On Mon, Apr 12, 2021 at 1:23 PM Chesnay Schepler <ches...@apache.org> wrote:

> Hello all,
>
> I would like to propose a change in how the Flink master interacts with
> Flink-shaded.
>
> TL;DR: Release snapshot artifacts for flink-shaded, and have the Flink
> master rely on specific snapshot versions for earlier dependency bumps.
>
>
> Aa a project we have come to the general conclusion that dependencies
> should be bumped as early in the release cycle as possible. This both
> prevents cases where some undefined amount of work is still waiting for
> as when we want to release the next version (working against the goal of
> always being in a releasable state), and it gives us more time to
> evaluate the stability and performance of system. Finally it gives us
> ample time to look for alternatives if an issue is found.
>
> Currently, this conclusion is at odds with how we handle flink-shaded.
> Flink has always relied on flink-shaded artifacts that went through a
> proper release cycle. However, since we want to create as few releases
> as possible due to the overhead/noise/etc., flink-shaded releases are
> typically relegated to the end of the release cycle.
> This is particularly troublesome since flink-shaded dependencies are
> used in the core of Flink, and hence usage of them cannot be avoided.
>
> As a compromise between these 2 goals I propose the following:
> - we deploy SNAPSHOT artifacts for flink-shaded for every change made
> - every deployed artifact has a unique version, that is automatically
> set via maven (=> no overhead on our side)
> - once such an artifact is released we update the Flink dependency to
> point to this _specific_ flink-shaded snapshot artifact
>      - to be clear, this is a manual step, which implies that things
> cannot break all of a sudden because something was pushed to flink-shaded
> - once the Flink release cycle ends, we publish a proper flink-shaded
> release, and change the Flink dependency in the release branch accordingly
>
> This should give us the best of both worlds: We have as few releases as
> necessary (at most 1 per Flink release cycle), but can update the
> dependencies in Flink as soon as possible.
> Furthermore, this can also be considered a test run for how multiple
> repos with the same release cycle could be developed in sync with each
> other.
>
> Let me know what you think.
>
> Regards,
>
> Chesnay
>
>

-- 

Konstantin Knauf

https://twitter.com/snntrable

https://github.com/knaufk

Reply via email to