Hi folks, A topic that’s come up recently is what branches are valid targets for performance improvements. Should they only go into trunk? This has come up in the context of BTI improvements, Dmitry’s work on reducing object overhead, and my work on CASSANDRA-15452.
We currently have guidelines published: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=199530302#Patching,versioning,andLTSreleases-Wheretoapplypatches. But there’s no explicit discussion of how to handle performance improvements. We tend to discuss whether they’re “bugfixes”. I’d like to discuss whether performance improvements should target more than just trunk. I believe they should target every active branch because performance is a major selling point of Cassandra. It’s not practical to ask users to upgrade major versions for simple performance wins. A major version can be deployed for years, especially when the next one has major changes. But we shouldn’t target non-supported major versions, either. Also, there will be exceptions: patches that are too large, invasive, risky, or complicated to backport. For these, we rely on the contributor and reviewer’s judgment and the mailing list. So, I’m proposing an allowance to backport to active branches, not a requirement to merge them. I’m curious to hear your thoughts. Jordan