Any change we bring to stable releases, even though it is non-user facing change, brings in the possibility of introducing bugs and / or unintended side effects. Therefore it is important to carefully consider the trade offs when we make changes to older releases. We also have a precedent to make changes to older releases for testing.
In this particular case Yifan's patch is touching a fairly isolated class and presents a low risk. The benefit here is that the analytics sub-project would avoid additional work arounds for Cassandra 4 & 4.1. I am fine with granting an exception for backporting to 4.1 and 4.0 in this case. thanks, Dinesh On Tue, Jul 30, 2024 at 9:52 AM Yifan Cai <yc25c...@gmail.com> wrote: > Here is my 2 cents. Maybe we need to differentiate the user-facing > improvements and ecosystem-internal improvements, or have a discussion > about it. > I guess when the current policy of "improvements and new features on trunk > only" was made, it was to target the user-facing improvements. The internal > changes are not exposed to cassandra users directly. > As Josh pointed out, with more projects (sidecar and analytics have > dependency on cassandra public interface) in the ecosystem, we are more > likely to encounter the scenarios where we want to modify the mainline > branches for integration purposes. > > The downside of preventing the integration updates to the older branches > is having different solutions per Cassandra version in the other projects > under the Cassandra umbrella. It is a maintenance pain and potentially > causes errors. It is my original motivation of backporting the patch to the > other branches. > > - Yifan > > On Tue, Jul 30, 2024 at 6:04 AM Josh McKenzie <jmcken...@apache.org> > wrote: > >> Some thoughts: >> >> 1. Most of our PMC votes are majority-based, not binding -1. So Jeff >> being -1 doesn't mean the whole PMC being -1. So don't take his -1 as >> being >> a show stopper or indicative of everyone on the PMC (and don't take me >> saying this as the converse ;)) >> 2. I expect we have a lot of debt when it comes to our ecosystem >> integrations on older branches. Bringing those projects into the ASF >> umbrella and into the project ecosystem is at odds with a hard policy of >> "we don't add improvements or new features to old branches", >> *specifically* in cases like this where the desire is to get uniform >> support for ecosystem projects across all supported branches of C* >> 3. We're moving into a world where we will likely more frequently >> modify the mainline branch with new functionality to integrate with >> ecosystem changes (sidecar, analytics, drivers?). It's probably at least >> worth a conversation as to whether our current policy (improvements and >> new >> features main branch only) is optimal across everything equally or if >> there >> should be nuance for ecosystem integrations. >> 4. To Jeff's point: everyone is always going to have some minor >> improvement they'd like to back-port to older branches. >> >> I haven't thought deeply enough about this specific situation to have a >> well formed opinion, but figured calling out the above things is worth >> doing. This probably won't be the last time we look at our supported >> branches and have some pain we'd like to address based on the inconsistent >> ecosystem support and API piece across them. >> >> On Mon, Jul 29, 2024, at 1:32 PM, Yifan Cai wrote: >> >> It sounds like we are all good with backporting to 5.0. >> >> Thank you all for the feedback. >> >> - Yifan >> >> On Fri, Jul 26, 2024 at 12:21 PM Jeff Jirsa <jji...@gmail.com> wrote: >> >> >> >> >> On Jul 26, 2024, at 11:09 AM, Yifan Cai <yc25c...@gmail.com> wrote: >> >> >> Thanks Jeff for restating the policy. >> >> According to the release lifecycle doc >> >> >> - Missing features from newer generation releases are back-ported on >> per - PMC vote basis. >> >> https://cwiki.apache.org/confluence/display/CASSANDRA/Release+Lifecycle >> >> We do not have a policy to prevent new features strictly for the branches >> in maintenance state. >> >> IMO, the patch qualifies as the missing feature. (As said, it is useful >> for Cassandra Analytics, and it is good to have the same bridge >> implementation amongst different cassandra versions) >> >> Therefore, I would like to call for a vote. >> >> >> Sure >> >> I’m -1 on 4.0 and 4.1 >> >> - Jeff >> >> >> On Fri, Jul 26, 2024 at 10:25 AM Jeff Jirsa <jji...@gmail.com> wrote: >> >> Everyone has a low risk change they want to backport to every branch, 4.0 >> and 4.1 in particular are way past the point we should be adding features >> >> The policy exists and it’s a pure feature not a regression >> >> >> >> >> >> > On Jul 26, 2024, at 9:59 AM, Brandon Williams <dri...@gmail.com> wrote: >> > >> > Given how low risk this is, I don't see an issue with backporting it >> > and I'm sure the usefulness outweighs what risk there is. +1 (5.0.1 >> > though, not 5.0.0) >> > >> > Kind Regards, >> > Brandon >> > >> >> On Fri, Jul 26, 2024 at 11:52 AM Yifan Cai <yc25c...@gmail.com> wrote: >> >> >> >> Hi everyone, >> >> >> >> CASSANDRA-19800 is currently in the state of ready to be committed. >> Before that, I want to propose backporting it to 4.0, 4.1 and 5.0. >> >> >> >> The ability to notify CQLSSTableWriter user when new sstables are >> produced is especially useful for Cassandra Analytics and other consumers. >> The API is more reliable than monitoring the file directory. >> >> >> >> That being said, I am aware that the patch is an improvement and trunk >> only. I want to ask for an exemption on backporting the patch for two >> reasons. It is useful for Cassandra Analytics. The patch is low risk for >> Cassandra server as it only touches CQLSSTableWriter, which is only used by >> toolings. >> >> >> >> - Yifan >> >> >>