Hi Community,

I would like to raise one point that was bothering me for quite a while.
Namely this our official policy:

> Update Policy for old releases
> As of March 2017, the Flink community decided to support the current and
previous minor
> release with bugfixes. If 1.2.x is the current release, 1.1.y is the
previous minor supported
> release. Both versions will receive bugfixes for critical issues.

https://flink.apache.org/downloads.html#update-policy-for-old-releases

Plus I think unofficial arrangement, that we are usually back porting bug
fixes to two past releases (so one more compared to the official support).

Officially supporting two past releases is simply not good enough for some
users. Given that we are aiming for ~3 releases every year, that would mean
users have to upgrade almost twice a year to keep up with our supported
releases. While in reality, the upgrade process is often quite time
consuming for the users, and requires significant efforts. On the mailing
list I regularly see users struggling with a bug that has been fixed, but
not for the versions that they are stuck with.

Having said that, I would like to propose to extend the time frame for our
supported versions in one way or another. I think we should aim to provide
support for something between 12 and 18 months. I can see two options for
how to achieve that:

1. Extend the number of supported releases to at least 4 (latest plus three
past releases).
2. Introduce some concept of time based Long Term Support. For example
periodically marking some flink version as LTS with 18 months of support
and additionally maintaining our current policy of supporting two latest
releases. This would limit the number of Flink versions that we need to
support to just three.

Expanding a little bit on the 2nd option, I think we would also need to
provide a couple of months for users to upgrade from the previous LTS to
the new LTS version. In practice I would imagine it working like that:

Flink 1.11.x being the old LTS version that is going to be phased out very
soon.
Flink 1.14.x being the new LTS version
Flink 1.13.x maintained as regular release

To give enough time for users to migrate between 1.11.x and 1.14.x, we
would drop the 1.11.x support with 1.15.0 release.

I would be in favour of the 2nd option due to two reasons:
- it would provide the ~18 months coverage with fewer supported releases
- deciding when to drop old and create new LTS I would base on the time
since the last LTS release, not the number of releases. This way users
could make long term plans for upgrades regardless of how frequently we
manage to create a new release. If we suddenly decide to create 4 or 6
releases a year, LTS users wouldn't be affected.

What do you think?

Best,
Piotrek

Reply via email to