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
