Re: [DISCUSS] CEP-26: Unified Compaction Strategy

2023-03-20 Thread Branimir Lambov
It seems I have created some confusion. This version of UCS (let's call it V2) is ahead of the one in DSE (V1), with the main difference that it no longer uses a fixed number of shards. Because of this, V2 acts similar to LCS in the required extra space, because the sstables it constructs aim to

Re: [DISCUSS] CEP-26: Unified Compaction Strategy

2023-03-17 Thread Jeff Jirsa
I’m without laptop this week but looks like CompactionTask#reduceScopeForLimitedSpace So maybe it just comes for free with UCS > On Mar 17, 2023, at 6:21 PM, Jeremy Hanna wrote: > > You're right that it doesn't handle it in the sense that it doesn't resolve > it the problem, but it also

Re: [DISCUSS] CEP-26: Unified Compaction Strategy

2023-03-17 Thread Jeremy Hanna
You're right that it doesn't handle it in the sense that it doesn't resolve it the problem, but it also doesn't do what STCS does. From what I've seen, STCS blindly tries to compact and then the disk will fill up triggering the disk failure policy. With UCS it's much less likely and if it

Re: [DISCUSS] CEP-26: Unified Compaction Strategy

2023-03-17 Thread Jeff Jirsa
> On Mar 17, 2023, at 1:46 PM, Jeremy Hanna wrote: > > > > One much more graceful element of UCS is that instead of what was previously > done with compaction strategies where the server just shuts down when running > out of space - forcing system administrators to be paranoid about

Re: [DISCUSS] CEP-26: Unified Compaction Strategy

2023-03-17 Thread Jeremy Hanna
I think it's important to highlight a few of practical elements of this work that may not be completely clear. Sharding ranges allows for parallel compactions - taking advantage of additional CPUs on the server. This allows compactions to keep up much easier. One much more graceful element of

Re: [DISCUSS] CEP-26: Unified Compaction Strategy

2023-03-17 Thread Josh McKenzie
Could we get a JIRA for this too so we can get some reviewers collaborating on this? Only see Lorina's ticket for documenting it in JIRA atm. On Fri, Mar 17, 2023, at 9:53 AM, Branimir Lambov wrote: > The prototype of UCS can now be found in this pull request: >

Re: [DISCUSS] CEP-26: Unified Compaction Strategy

2023-03-17 Thread Branimir Lambov
The prototype of UCS can now be found in this pull request: https://github.com/apache/cassandra/pull/2228 Its description is given in the included markdown documentation: https://github.com/blambov/cassandra/blob/UCS-density/src/java/org/apache/cassandra/db/compaction/UnifiedCompactionStrategy.md

Re: [DISCUSS] CEP-26: Unified Compaction Strategy

2022-12-21 Thread Benedict
I’m personally very excited by this work. Compaction could do with a spring clean and this feels to formalise things much more cleanly, but density tiering in particular is something I’ve wanted to incorporate for years now, as it should significantly improve STCS behaviour (most importantly

Re: [DISCUSS] CEP-26: Unified Compaction Strategy

2022-12-20 Thread Henrik Ingo
I noticed the CEP doesn't link to this, so it should be worth mentioning that the UCS documentation is available here: https://github.com/datastax/cassandra/blob/ds-trunk/doc/unified_compaction.md Both of the above seem to do a poor job referencing the literature we've been inspired by. I will

[DISCUSS] CEP-26: Unified Compaction Strategy

2022-12-19 Thread Branimir Lambov
Hello everyone, I would like to open the discussion on our proposal for a unified compaction strategy that aims to solve well-known problems with compaction and improve parallelism to permit higher levels of sustained write throughput. The proposal is here: