Hi all,

I believe we're encountering the issue related to cherry-picking to the
release branches.

Since the master is on JDK17 now it is allowed to use language features
from jdk9 onwards.
This is a horrible problem for those pulls that need to be cherry-picked to
release branches.

Now we are in a situation where Pulsar 2.10 is at early stages and we're
setting it to LTS for our users.
Currently we cherry-pick a LOT of commits to branch 2.10 (e.g. in the
latest week we ported 43 commits).

We need to figure out how to deal with this. I'll share some ideas

1) Do not use new language features until 2.10 is EOL (very long time)
2) Do allow new language features usages only for new features that we are
very sure won't be cherry-picked.

This is an example of a pull that needs to be converted:
https://github.com/apache/pulsar/pull/15779.
I disagree with this kind of "conversion" because not all the language
features have an exact replacement and also the code could diverge too much
and lead to conditions where other commits (maybe very important fixes) may
be hardly portable.

I know the main goal of this whole work is to be able to use new language
features but I believe maintaining release branches is more important for
the Pulsar community.


Nicolò Boschi

Reply via email to