Also I meant to quickly clarify: This isn't specific to 15452 and I
think discussion of 15452 should happen on a separate thread, if at all. I
personally haven't come to an opinion myself and hadn't planned to broach
that subject yet. It was one example of where this discussion had come up
between community members and I wanted to bring it to the broader mailing
list is all.

On Tue, Jan 21, 2025 at 6:35 PM Jordan West <jw...@apache.org> wrote:

> Thanks for the initial feedback. I hear a couple different themes / POVs.
>
> David/Paulo, it sounds like maybe a guide for perf backports + mailing
> list consensus when necessary + clear documentation of this could be a way
> forward. I agree that each change comes with stability risks but at the
> same time the greatest stability risk with Cassandra historically has been
> major version upgrades (although we have made great improvements here). For
> folks who want only the performance improvements, we are asking them to
> take greater risk by upgrading a major version or to maintain a fork. The
> fork is reasonable for some of the larger operators but not others. That
> said, I do agree we need to use judgement. Not all changes are worth
> backporting and some may incur too much risk. We could also add to the
> guide suggestions of how to de-risk a change (e.g. code is isolated, config
> to turn it off / off by default, etc).
>
> Jeff, I agree 1% wins aren't worth it if they are invasive and in risky
> areas. Not all of the improvements are that minor.
>
> Jordan
>
> On Tue, Jan 21, 2025 at 1:57 PM Jeff Jirsa <jji...@gmail.com> wrote:
>
>> We expect users to treat patch and minor releases as low risk. Changing
>> something deep in the storage engine to be 1% faster is not worth the risk,
>> because most users will skip the type of qualification that finds those one
>> in a billion regressions.
>>
>> Patch releases are for bug fixes not perf improvements.
>>
>>
>> On Jan 21, 2025, at 9:10 PM, Jordan West <jw...@apache.org> wrote:
>>
>> 
>> 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
>>
>>

Reply via email to