> Is there anyway it makes sense for this to be an external process rather than 
> a new thread pool inside the C* process?
I'm personally more irked by the merkle tree building / streaming / merging / 
etc resource utilization being in the primary C* process. My intuition is that 
the *scheduling* of things is so lightweight as to be a non-issue when it comes 
to impact on reads and writes.

That said, if you're more alluding to a meta conversation about the 
*architecture* of the DB and whether having a monolithic :allthethings: process 
is preferable to breaking things apart, well, that's an entirely different 
conversation on which I have... different thoughts. :D

On Mon, Oct 21, 2024, at 10:44 AM, Jeremiah Jordan wrote:
> I love the idea of a repair service being there by default for an install of 
> C*.  My main concern here is that it is putting more services into the main 
> database process.  I actually think we should be looking at how we can move 
> things out of the database process.  The C* process being a giant monolith 
> has always been a pain point.  Is there anyway it makes sense for this to be 
> an external process rather than a new thread pool inside the C* process?
> 
> -Jeremiah Jordan
> 
> On Oct 18, 2024 at 2:58:15 PM, Mick Semb Wever <m...@apache.org> wrote:
>> 
>> This is looking strong, thanks Jaydeep.
>> 
>> I would suggest folk take a look at the design doc and the PR in the CEP.  A 
>> lot is there (that I have completely missed).
>> 
>> I would especially ask all authors of prior art (Reaper, DSE nodesync, 
>> ecchronos)  to take a final review of the proposal
>> 
>> Jaydeep, can we ask for a two week window while we reach out to these people 
>> ?  There's a lot of prior art in this space, and it feels like we're in a 
>> good place now where it's clear this has legs and we can use that to bring 
>> folk in and make sure there's no remaining blindspots.
>> 
>> 
>> On Fri, 18 Oct 2024 at 01:40, Jaydeep Chovatia <chovatia.jayd...@gmail.com> 
>> wrote:
>>> Sorry, there is a typo in the CEP-37 link; here is the correct link 
>>> <https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-37+Apache+Cassandra+Unified+Repair+Solution>
>>> 
>>> 
>>> On Thu, Oct 17, 2024 at 4:36 PM Jaydeep Chovatia 
>>> <chovatia.jayd...@gmail.com> wrote:
>>>> First, thank you for your patience while we strengthened the CEP-37.
>>>> 
>>>> 
>>>> 
>>>> Over the last eight months, Chris Lohfink, Andy Tolbert, Josh McKenzie, 
>>>> Dinesh Joshi, Kristijonas Zalys, and I have done tons of work (online 
>>>> discussions/a dedicated Slack channel #cassandra-repair-scheduling-cep37) 
>>>> to come up with the best possible design that not only significantly 
>>>> simplifies repair operations but also includes the most common features 
>>>> that everyone will benefit from running at Scale. 
>>>> 
>>>> For example,
>>>> 
>>>>  • Apache Cassandra must be capable of running multiple repair types, such 
>>>> as Full, Incremental, Paxos, and Preview - so the framework should be 
>>>> easily extendable with no additional overhead from the operator’s point of 
>>>> view.
>>>> 
>>>>  • An easy way to extend the token-split calculation algorithm with a 
>>>> default implementation should exist.
>>>> 
>>>>  • Running incremental repair reliably at Scale is pretty challenging, so 
>>>> we need to place safeguards, such as migration/rollback w/o restart and 
>>>> stopping incremental repair automatically if the disk is about to get full.
>>>> 
>>>> We are glad to inform you that CEP-37 (i.e., Repair inside Cassandra) is 
>>>> now officially ready for review after multiple rounds of design, testing, 
>>>> code reviews, documentation reviews, and, more importantly, validation 
>>>> that it runs at Scale!
>>>> 
>>>> 
>>>> 
>>>> Some facts about CEP-37.
>>>> 
>>>>  • Multiple members have verified all aspects of CEP-37 numerous times.
>>>> 
>>>>  • The design proposed in CEP-37 has been thoroughly tried and tested on 
>>>> an immense scale (hundreds of unique Cassandra clusters, tens of thousands 
>>>> of Cassandra nodes, with tens of millions of QPS) on top of 4.1 
>>>> open-source for more than five years; please see more details _here_ 
>>>> <https://www.uber.com/en-US/blog/how-uber-optimized-cassandra-operations-at-scale/>.
>>>> 
>>>>  • The following _presentation_ 
>>>> <https://docs.google.com/presentation/d/1Zilww9c7LihHULk_ckErI2s4XbObxjWknKqRtbvHyZc/edit#slide=id.g30a4fd4fcf7_0_13>
>>>>  highlights the rigorous applied to CEP-37, which was given during last 
>>>> week’s Apache Cassandra Bay Area _Meetup_ 
>>>> <https://www.meetup.com/apache-cassandra-bay-area/events/303469006/>,
>>>> 
>>>> 
>>>> Since things are massively overhauled, we believe it is almost ready for a 
>>>> final pass pre-VOTE. We would like you to please review the _CEP-37_ 
>>>> <https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-37+Apache+Cassandra+Unified+Repair+Solution)>
>>>>  and the associated detailed design _doc_ 
>>>> <https://docs.google.com/document/d/1CJWxjEi-mBABPMZ3VWJ9w5KavWfJETAGxfUpsViPcPo/edit#heading=h.r112r46toau0>.
>>>> 
>>>> 
>>>> Thank you everyone!
>>>> 
>>>> Chris, Andy, Josh, Dinesh, Kristijonas, and Jaydeep
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On Thu, Sep 19, 2024 at 11:26 AM Josh McKenzie <jmcken...@apache.org> 
>>>> wrote:
>>>>> __
>>>>> Not quite; finishing touches on the CEP and design doc are in flight (as 
>>>>> of last / this week).
>>>>> 
>>>>> Soon(tm).
>>>>> 
>>>>> On Thu, Sep 19, 2024, at 2:07 PM, Patrick McFadin wrote:
>>>>>> Is this CEP ready for a VOTE thread? 
>>>>>> https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-37+%28DRAFT%29+Apache+Cassandra+Unified+Repair+Solution
>>>>>> 
>>>>>> On Sun, Feb 25, 2024 at 12:25 PM Jaydeep Chovatia 
>>>>>> <chovatia.jayd...@gmail.com> wrote:
>>>>>>> Thanks, Josh. I've just updated the CEP 
>>>>>>> <https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-37+%28DRAFT%29+Apache+Cassandra+Official+Repair+Solution>
>>>>>>>  and included all the solutions you mentioned below.  
>>>>>>> 
>>>>>>> Jaydeep
>>>>>>> 
>>>>>>> On Thu, Feb 22, 2024 at 9:33 AM Josh McKenzie <jmcken...@apache.org> 
>>>>>>> wrote:
>>>>>>>> __
>>>>>>>> Very late response from me here (basically necro'ing this thread).
>>>>>>>> 
>>>>>>>> I think it'd be useful to get this condensed into a CEP that we can 
>>>>>>>> then discuss in that format. It's clearly something we all agree we 
>>>>>>>> need and having an implementation that works, even if it's not in your 
>>>>>>>> preferred execution domain, is vastly better than nothing IMO.
>>>>>>>> 
>>>>>>>> I don't have cycles (nor background ;) ) to do that, but it sounds 
>>>>>>>> like you do Jaydeep given the implementation you have on a private 
>>>>>>>> fork + design.
>>>>>>>> 
>>>>>>>> A non-exhaustive list of things that might be useful incorporating 
>>>>>>>> into or referencing from a CEP:
>>>>>>>> Slack thread: 
>>>>>>>> https://the-asf.slack.com/archives/CK23JSY2K/p1690225062383619
>>>>>>>> Joey's old C* ticket: 
>>>>>>>> https://issues.apache.org/jira/browse/CASSANDRA-14346
>>>>>>>> Even older automatic repair scheduling: 
>>>>>>>> https://issues.apache.org/jira/browse/CASSANDRA-10070
>>>>>>>> Your design gdoc: 
>>>>>>>> https://docs.google.com/document/d/1CJWxjEi-mBABPMZ3VWJ9w5KavWfJETAGxfUpsViPcPo/edit#heading=h.r112r46toau0
>>>>>>>> PR with automated repair: 
>>>>>>>> https://github.com/jaydeepkumar1984/cassandra/commit/ef6456d652c0d07cf29d88dfea03b73704814c2c
>>>>>>>> 
>>>>>>>> My intuition is that we're all basically in agreement that this is 
>>>>>>>> something the DB needs, we're all willing to bikeshed for our personal 
>>>>>>>> preference on where it lives and how it's implemented, and at the end 
>>>>>>>> of the day, code talks. I don't think anyone's said they'll die on the 
>>>>>>>> hill of implementation details, so that feels like CEP time to me.
>>>>>>>> 
>>>>>>>> If you were willing and able to get a CEP together for automated 
>>>>>>>> repair based on the above material, given you've done the work and 
>>>>>>>> have the proof points it's working at scale, I think this would be a 
>>>>>>>> *huge contribution* to the community.
>>>>>>>> 
>>>>>>>> On Thu, Aug 24, 2023, at 7:26 PM, Jaydeep Chovatia wrote:
>>>>>>>>> Is anyone going to file an official CEP for this?
>>>>>>>>> As mentioned in this email thread, here is one of the solution's 
>>>>>>>>> design doc 
>>>>>>>>> <https://docs.google.com/document/d/1CJWxjEi-mBABPMZ3VWJ9w5KavWfJETAGxfUpsViPcPo/edit#heading=h.r112r46toau0>
>>>>>>>>>  and source code on a private Apache Cassandra patch. Could you go 
>>>>>>>>> through it and let me know what you think?
>>>>>>>>> 
>>>>>>>>> Jaydeep
>>>>>>>>> 
>>>>>>>>> On Wed, Aug 2, 2023 at 3:54 PM Jon Haddad 
>>>>>>>>> <rustyrazorbl...@apache.org> wrote:
>>>>>>>>>> > That said I would happily support an effort to bring repair 
>>>>>>>>>> > scheduling to the sidecar immediately. This has nothing blocking 
>>>>>>>>>> > it, and would potentially enable the sidecar to provide an 
>>>>>>>>>> > official repair scheduling solution that is compatible with 
>>>>>>>>>> > current or even previous versions of the database.
>>>>>>>>>> 
>>>>>>>>>> This is something I hadn't thought much about, and is a pretty good 
>>>>>>>>>> argument for using the sidecar initially.  There's a lot of 
>>>>>>>>>> deployments out there and having an official repair option would be 
>>>>>>>>>> a big win. 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On 2023/07/26 23:20:07 "C. Scott Andreas" wrote:
>>>>>>>>>> > I agree that it would be ideal for Cassandra to have a repair 
>>>>>>>>>> > scheduler in-DB.
>>>>>>>>>> >
>>>>>>>>>> > That said I would happily support an effort to bring repair 
>>>>>>>>>> > scheduling to the sidecar immediately. This has nothing blocking 
>>>>>>>>>> > it, and would potentially enable the sidecar to provide an 
>>>>>>>>>> > official repair scheduling solution that is compatible with 
>>>>>>>>>> > current or even previous versions of the database.
>>>>>>>>>> >
>>>>>>>>>> > Once TCM has landed, we’ll have much stronger primitives for 
>>>>>>>>>> > repair orchestration in the database itself. But I don’t think 
>>>>>>>>>> > that should block progress on a repair scheduling solution in the 
>>>>>>>>>> > sidecar, and there is nothing that would prevent someone from 
>>>>>>>>>> > continuing to use a sidecar-based solution in perpetuity if they 
>>>>>>>>>> > preferred.
>>>>>>>>>> >
>>>>>>>>>> > - Scott
>>>>>>>>>> >
>>>>>>>>>> > > On Jul 26, 2023, at 3:25 PM, Jon Haddad 
>>>>>>>>>> > > <rustyrazorbl...@apache.org> wrote:
>>>>>>>>>> > >
>>>>>>>>>> > > I'm 100% in favor of repair being part of the core DB, not the 
>>>>>>>>>> > > sidecar.  The current (and past) state of things where running 
>>>>>>>>>> > > the DB correctly *requires* running a separate process (either 
>>>>>>>>>> > > community maintained or official C* sidecar) is incredibly 
>>>>>>>>>> > > painful for folks.  The idea that your data integrity needs to 
>>>>>>>>>> > > be opt-in has never made sense to me from the perspective of 
>>>>>>>>>> > > either the product or the end user.
>>>>>>>>>> > >
>>>>>>>>>> > > I've worked with way too many teams that have either configured 
>>>>>>>>>> > > this incorrectly or not at all. 
>>>>>>>>>> > >
>>>>>>>>>> > > Ideally Cassandra would ship with repair built in and on by 
>>>>>>>>>> > > default.  Power users can disable if they want to continue to 
>>>>>>>>>> > > maintain their own repair tooling for some reason.
>>>>>>>>>> > >
>>>>>>>>>> > > Jon
>>>>>>>>>> > >
>>>>>>>>>> > >> On 2023/07/24 20:44:14 German Eichberger via dev wrote:
>>>>>>>>>> > >> All,
>>>>>>>>>> > >> We had a brief discussion in [2] about the Uber article [1] 
>>>>>>>>>> > >> where they talk about having integrated repair into Cassandra 
>>>>>>>>>> > >> and how great that is. I expressed my disappointment that they 
>>>>>>>>>> > >> didn't work with the community on that (Uber, if you are 
>>>>>>>>>> > >> listening time to make amends 🙂) and it turns out Joey already 
>>>>>>>>>> > >> had the idea and wrote the code [3] - so I wanted to start a 
>>>>>>>>>> > >> discussion to gauge interest and maybe how to revive that 
>>>>>>>>>> > >> effort.
>>>>>>>>>> > >> Thanks,
>>>>>>>>>> > >> German
>>>>>>>>>> > >> [1] 
>>>>>>>>>> > >> https://www.uber.com/blog/how-uber-optimized-cassandra-operations-at-scale/
>>>>>>>>>> > >> [2] 
>>>>>>>>>> > >> https://the-asf.slack.com/archives/CK23JSY2K/p1690225062383619
>>>>>>>>>> > >> [3] https://issues.apache.org/jira/browse/CASSANDRA-14346
>>>>>>>>>> >
>>>>>>>> 
>>>>> 

Reply via email to