> If we cannot meet at least that quality level (Green CI) we should not merge We should probably make it a formally agreed upon point to not merge things unless we're sure they won't destabilize, and thus block release of, a branch. So green CI for a feature (excepting feature-specific tests if it's still a work in progress), experimental flag if we don't consider it prod ready, should be absolute bare minimum for anything to merge really IMO.
On Wed, Oct 25, 2023, at 4:17 AM, Benjamin Lerer wrote: > The proposal includes 3 things: > 1. Do not include TCM and Accord in 5.0 to avoid delaying 5.0 > 2. The next release will be 5.1 and will include only Accord and TCM > 3. Merge TCM and Accord right now in 5.1 (making an initial release) > > I am fine with question 1 and do not have a strong opinion on which way to go. > 2. Means that every new feature will have to wait for post 5.1 even if it is > ready before 5.1 is stabilized and shipped. If we do a 5.1 release why not > take it as an opportunity to release more things. I am not saying that we > will. Just that we should let that door open. > 3. There is a need to merge TCM and Accord as maintaining those separate > branches is costly in terms of time and energy. I fully understand that. On > the other hand merging TCM and Accord will make the TCM review harder and I > do believe that this second round of review is valuable as it already > uncovered a valid issue. Nevertheless, I am fine with merging TCM as soon as > it passes CI and continuing the review after the merge. If we cannot meet at > least that quality level (Green CI) we should not merge just for creating an > 5.1.alpha release for the summit. > > Now, I am totally fine with a preview release without numbering and with big > warnings that will only serve as a preview for the summit. > > Le mer. 25 oct. 2023 à 06:33, Berenguer Blasi <berenguerbl...@gmail.com> a > écrit : >> I also think there's many good new features in 5.0 already they'd make a >> good release even on their own. My 2 cts. >> >> On 24/10/23 23:20, Brandon Williams wrote: >> > The catch here is that we don't publish docker images currently. The >> > C* docker images available are not made by us. >> > >> > Kind Regards, >> > Brandon >> > >> > On Tue, Oct 24, 2023 at 3:31 PM Patrick McFadin <pmcfa...@gmail.com> wrote: >> >> Let me make that really easy. Hell yes >> >> >> >> Not everybody runs CCM, I've tried but I've met resistance. >> >> >> >> Compiling your own version usually involves me saying the words "Yes, ant >> >> realclean exists. I'm not trolling you" >> >> >> >> docker pull <image> works on every OS and curates a single node >> >> experience. >> >> >> >> >> >> >> >> On Tue, Oct 24, 2023 at 12:37 PM Josh McKenzie <jmcken...@apache.org> >> >> wrote: >> >>> In order for the project to advertise the release outside the dev@ list >> >>> it needs to be a formal release. >> >>> >> >>> That's my reading as well: >> >>> https://www.apache.org/legal/release-policy.html#release-definition >> >>> >> >>> I wonder if there'd be value in us having a cronned job that'd do >> >>> nightly docker container builds on trunk + feature branches, archived >> >>> for N days, and we make that generally known to the dev@ list here so >> >>> folks that want to poke at the current state of trunk or other branches >> >>> could do so with very low friction. We'd probably see more engagement on >> >>> feature branches if it was turn-key easy for other C* devs to spin the >> >>> up and check them out. >> >>> >> >>> For what you're talking about here Patrick (a docker image for folks >> >>> outside the dev@ audience and more user-facing), we'd want to vote on it >> >>> and go through the formal process. >> >>> >> >>> On Tue, Oct 24, 2023, at 3:10 PM, Jeremiah Jordan wrote: >> >>> >> >>> In order for the project to advertise the release outside the dev@ list >> >>> it needs to be a formal release. That just means that there was a >> >>> release vote and at least 3 PMC members +1’ed it, and there are more +1 >> >>> than there are -1, and we follow all the normal release rules. The ASF >> >>> release process doesn’t care what branch you cut the artifacts from or >> >>> what version you call it. >> >>> >> >>> So the project can cut artifacts for and release a 5.1-alpha1, >> >>> 5.1-dev-preview1, what ever we want to version this thing, from trunk or >> >>> any other branch name we want. >> >>> >> >>> -Jeremiah >> >>> >> >>> On Oct 24, 2023 at 2:03:41 PM, Patrick McFadin <pmcfa...@gmail.com> >> >>> wrote: >> >>> >> >>> I would like to have something for developers to use ASAP to try the >> >>> Accord syntax. Very few people have seen it, and I think there's a >> >>> learning curve we can start earlier. >> >>> >> >>> It's my understanding that ASF policy is that it needs to be a project >> >>> release to create a docker image. >> >>> >> >>> On Tue, Oct 24, 2023 at 11:54 AM Jeremiah Jordan >> >>> <jeremiah.jor...@gmail.com> wrote: >> >>> >> >>> If we decide to go the route of not merging TCM to the 5.0 branch. Do >> >>> we actually need to immediately cut a 5.1 branch? Can we work on >> >>> stabilizing things while it is in trunk and cut the 5.1 branch when we >> >>> actually think we are near releasing? I don’t see any reason we can not >> >>> cut “preview” artifacts from trunk? >> >>> >> >>> -Jeremiah >> >>> >> >>> On Oct 24, 2023 at 11:54:25 AM, Jon Haddad <rustyrazorbl...@apache.org> >> >>> wrote: >> >>> >> >>> I guess at the end of the day, shipping a release with a bunch of >> >>> awesome features is better than holding it back. If there's 2 big >> >>> releases in 6 months the community isn't any worse off. >> >>> >> >>> We either ship something, or nothing, and something is probably better. >> >>> >> >>> Jon >> >>> >> >>> >> >>> On 2023/10/24 16:27:04 Patrick McFadin wrote: >> >>> >> >>> +1 to what you are saying, Josh. Based on the last survey, yes, everyone >> >>> >> >>> was excited about Accord, but SAI and UCS were pretty high on the list. >> >>> >> >>> >> >>> Benedict and I had a good conversation last night, and now I understand >> >>> >> >>> more essential details for this conversation. TCM is taking far more work >> >>> >> >>> than initially scoped, and Accord depends on a stable TCM. TCM is months >> >>> >> >>> behind and that's a critical fact, and one I personally just learned of. >> >>> I >> >>> >> >>> thought things were wrapping up this month, and we were in the testing >> >>> >> >>> phase. I get why that's a topic we are dancing around. Nobody wants to >> >>> say >> >>> >> >>> ship dates are slipping because that's part of our culture. It's >> >>> >> >>> disappointing and, if new information, an unwelcome surprise, but none of >> >>> >> >>> us should be angry or in a blamey mood because I guarantee every one of >> >>> us >> >>> >> >>> has shipped the code late. My reaction yesterday was based on an >> >>> incorrect >> >>> >> >>> assumption. Now that I have a better picture, my point of view is >> >>> changing. >> >>> >> >>> >> >>> Josh's point about what's best for users is crucial. Users deserve stable >> >>> >> >>> code with a regular cadence of features that make their lives easier. If >> >>> we >> >>> >> >>> put 5.0 on hold for TCM + Accord, users will get neither for a very long >> >>> >> >>> time. And I mentioned a disaster yesterday. A bigger disaster would be >> >>> >> >>> shipping Accord with a major bug that causes data loss, eroding community >> >>> >> >>> trust. Accord has to be the most bulletproof of all bulletproof features. >> >>> >> >>> The pressure to ship is only going to increase and that's fertile ground >> >>> >> >>> for that sort of bug. >> >>> >> >>> >> >>> So, taking a step back and with a clearer picture, I support the 5.0 + >> >>> 5.1 >> >>> >> >>> plan mainly because I don't think 5.1 is (or should be) a fast follow. >> >>> >> >>> >> >>> For the user community, the communication should be straightforward. TCM >> >>> + >> >>> >> >>> Accord are turning out to be much more complicated than was originally >> >>> >> >>> scoped, and for good reasons. Our first principle is to provide a stable >> >>> >> >>> and reliable system, so as a result, we'll be de-coupling TCM + Accord >> >>> from >> >>> >> >>> 5.0 into a 5.1 branch, which is available in parallel to 5.0 while >> >>> >> >>> additional hardening and testing is done. We can communicate this in a >> >>> blog >> >>> >> >>> post., >> >>> >> >>> >> >>> To make this much more palatable to our use community, if we can get a >> >>> >> >>> build and docker image available ASAP with Accord, it will allow >> >>> developers >> >>> >> >>> to start playing with the syntax. Up to this point, that hasn't been >> >>> widely >> >>> >> >>> available unless you compile the code yourself. Developers need to >> >>> >> >>> understand how this will work in an application, and up to this point, >> >>> the >> >>> >> >>> syntax is text they see in my slides. We need to get some hands-on and >> >>> that >> >>> >> >>> will get our user community engaged on Accord this calendar year. The >> >>> >> >>> feedback may even uncover some critical changes we'll need to make. Lack >> >>> of >> >>> >> >>> access to Accord by developers is a critical problem we can fix soon and >> >>> >> >>> there will be plenty of excitement there and start building use cases >> >>> >> >>> before the final code ships. >> >>> >> >>> >> >>> I'm bummed but realistic. It sucks that I won't have a pony for >> >>> Christmas, >> >>> >> >>> but maybe one for my birthday? >> >>> >> >>> >> >>> Patrick >> >>> >> >>> >> >>> >> >>> >> >>> On Tue, Oct 24, 2023 at 7:23 AM Josh McKenzie <jmcken...@apache.org> >> >>> wrote: >> >>> >> >>> >> >>>> Maybe it won't be a glamorous release but shipping >> >>>> 5.0 mitigates our worst case scenario. >> >>>> I disagree with this characterization of 5.0 personally. UCS, SAI, Trie >> >>>> memtables and sstables, maybe vector ANN if the sub-tasks on C-18715 are >> >>>> accurate, all combine to make 5.0 a pretty glamorous release IMO >> >>>> independent of TCM and Accord. Accord is a true paradigm-shift >> >>>> game-changer >> >>>> so it's easy to think of 5.0 as uneventful in comparison, and TCM helps >> >>>> resolve one of the biggest pain-points in our system for over a decade, >> >>>> but >> >>>> I think 5.0 is a very meaty release in its own right today. >> >>>> Anyway - I agree with you Brandon re: timelines. If things take longer >> >>>> than we'd hope (which, if I think back, they do roughly 100% of the >> >>>> time on >> >>>> this project), blocking on these features could both lead to a >> >>>> significant >> >>>> delay in 5.0 going out as well as increasing pressure and risk of >> >>>> burnout >> >>>> on the folks working on it. While I believe we all need some balanced >> >>>> urgency to do our best work, being under the gun for something with a >> >>>> hard >> >>>> deadline or having an entire project drag along blocked on you is not >> >>>> where >> >>>> I want any of us to be. >> >>>> Part of why we talked about going to primarily annual calendar-based >> >>>> releases was to avoid precisely this situation, where something that >> >>>> *feels* right at the cusp of merging leads us to delay a release >> >>>> repeatedly. We discussed this a couple times this year: >> >>>> 1: https://lists.apache.org/thread/9c5cnn57c7oqw8wzo3zs0dkrm4f17lm3, >> >>>> where Mick proposed a "soft-freeze" for everything w/out exception and >> >>>> 1st >> >>>> week October "hard-freeze", and there was assumed to be lazy consensus >> >>>> 2: https://lists.apache.org/thread/mzj3dq8b7mzf60k6mkby88b9n9ywmsgw, >> >>>> where we kept along with what we discussed in 1 but added in CEP-30 to >> >>>> be >> >>>> waivered in as well. >> >>>> So. We're at a crossroads here where we need to either follow through >> >>>> with >> >>>> what we all agreed to earlier this year, or acknowledge that our best >> >>>> intention of calendar-based releases can't stand up to our optimism and >> >>>> desire to get these features into the next major. >> >>>> There's no immediate obvious better path to me in terms of what's best >> >>>> for >> >>>> our users. This is a situation of risk tolerance with a lot of unknowns >> >>>> that could go either way. >> >>>> Any light that folks active on TCM and Accord could shed in terms of >> >>>> their >> >>>> best and worst-case scenarios on timelines for those features might >> >>>> help us >> >>>> narrow this down a bit. Otherwise, I'm inclined to defer to our past >> >>>> selves >> >>>> and fall back to "we agreed to yearly calendar releases for good reason. >> >>>> Let's stick to our guns." >> >>>> On Tue, Oct 24, 2023, at 9:37 AM, Brandon Williams wrote: >> >>>> The concern I have with this is that is a big slippery 'if' that >> >>>> involves development time estimation, and if it tends to take longer >> >>>> than we estimate (as these things tend to do), then I can see a future >> >>>> where 5.0 is delayed until the middle of 2024, and I really don't want >> >>>> that to happen. Maybe it won't be a glamorous release but shipping >> >>>> 5.0 mitigates our worst case scenario. >> >>>> Kind Regards, >> >>>> Brandon >> >>>> On Mon, Oct 23, 2023 at 4:02 PM Dinesh Joshi <djo...@apache.org> wrote: >> >>>>> I have a strong preference to move out the 5.0 date to have accord and >> >>>> TCM. I don’t see the point in shipping 5.0 without these features >> >>>> especially if 5.1 is going to follow close behind it. >> >>>>> Dinesh >> >>>>> On Oct 23, 2023, at 4:52 AM, Mick Semb Wever <m...@apache.org> wrote: >> >>>>> >> >>>>> The TCM work (CEP-21) is in its review stage but being well past our >> >>>> cut-off date¹ for merging, and now jeopardising 5.0 GA efforts, I would >> >>>> like to propose the following. >> >>>>> We merge TCM and Accord only to trunk. Then branch cassandra-5.1 and >> >>>> cut an immediate 5.1-alpha1 release. >> >>>>> I see this as a win-win scenario for us, considering our current >> >>>> situation. (Though it is unfortunate that Accord is included in this >> >>>> scenario because we agreed it to be based upon TCM.) >> >>>>> This will mean… >> >>>>> - We get to focus on getting 5.0 to beta and GA, which already has a >> >>>> ton of features users want. >> >>>>> - We get an alpha release with TCM and Accord into users hands >> >>>>> quickly >> >>>> for broader testing and feedback. >> >>>>> - We isolate GA efforts on TCM and Accord – giving oss and downstream >> >>>> engineers time and patience reviewing and testing. TCM will be the >> >>>> biggest >> >>>> patch ever to land in C*. >> >>>>> - Give users a choice for a more incremental upgrade approach, given >> >>>> just how many new features we're putting on them in one year. >> >>>>> - 5.1 w/ TCM and Accord will maintain its upgrade compatibility with >> >>>> all 4.x versions, just as if it had landed in 5.0. >> >>>>> The risks/costs this introduces are >> >>>>> - If we cannot stabilise TCM and/or Accord on the cassandra-5.1 >> >>>>> branch, >> >>>> and at some point decide to undo this work, while we can throw away the >> >>>> cassandra-5.1 branch we would need to do a bit of work reverting the >> >>>> changes in trunk. This is a _very_ edge case, as confidence levels on >> >>>> the >> >>>> design and implementation of both are already tested and high. >> >>>>> - We will have to maintain an additional branch. I propose that we >> >>>> treat the 5.1 branch in the same maintenance window as 5.0 (like we have >> >>>> with 3.0 and 3.11). This also adds the merge path overhead. >> >>>>> - Reviewing of TCM and Accord will continue to happen post-merge. >> >>>>> This >> >>>> is not our normal practice, but this work will have already received its >> >>>> two +1s from committers, and such ongoing review effort is akin to GA >> >>>> stabilisation work on release branches. >> >>>>> I see no other ok solution in front of us that gets us at least both >> >>>>> the >> >>>> 5.0 beta and TCM+Accord alpha releases this year. Keeping in mind users >> >>>> demand to start experimenting with these features, and our Cassandra >> >>>> Summit >> >>>> in December. >> >>>>> 1) https://lists.apache.org/thread/9c5cnn57c7oqw8wzo3zs0dkrm4f17lm3 >> >>> >> >>>