I would argue that vast majority of real world workloads are read heavy. LCS would therefore be a net benefit for the average user.
To mitigate the write amplification concern I would make this change and make sure it is well documented for operators so they’re not caught off guard. On Fri, Dec 6, 2024 at 8:06 PM Jeff Jirsa <jji...@gmail.com> wrote: > And it works for that most of the time, so what’s the concern? “You lose > throughput because iops / write amplification go up, so the perf of the > default install goes down” ? (But the cost per byte goes way down, too)? > > > > On Dec 6, 2024, at 8:01 PM, Brad <bscho...@gmail.com> wrote: > > > Could you elaborate what you mean by 'disk storage management'? > > I often see clusters use LCS as an easy fix to avoid the 50% disk free > recommendation of STCS without considering the write > magnification implications. > > On Fri, Dec 6, 2024 at 10:46 PM Dinesh Joshi <djo...@apache.org> wrote: > >> Could you elaborate what you mean by 'disk storage management'? >> >> On Fri, Dec 6, 2024 at 7:30 PM Brad <bscho...@gmail.com> wrote: >> >>> I'm -1 on LCS being the default, seen far too many people use it for >>> disk storage management >>> >>> On Fri, Dec 6, 2024 at 10:08 PM Jon Haddad <j...@rustyrazorblade.com> >>> wrote: >>> >>>> I'm -1 on LCS being the default, since using it in the wrong situations >>>> renders clusters inoperable. >>>> >>>> >>>> On Fri, Dec 6, 2024 at 7:03 PM Paulo Motta <pa...@apache.org> wrote: >>>> >>>>> > I'd prefer to see the default go from STCS to UCS >>>>> >>>>> I’m proposing this for latest unstable (cassandra_latest.yaml) since >>>>> it’s a more recent strategy still being adopted. For latest stable >>>>> (cassandra.yaml) I’d prefer LCS since it does not need tuning to support >>>>> mutable workloads (UPDATE/DELETE) and is battle-tested. >>>>> >>>>> On Fri, 6 Dec 2024 at 21:37 Jon Haddad <j...@rustyrazorblade.com> >>>>> wrote: >>>>> >>>>>> I'd prefer to see the default go from STCS to UCS, probably with >>>>>> scaling_parameters T4. That's essentially the same as STCS but without >>>>>> the >>>>>> ridiculous SSTable growth, allowing us to leverage the fast streaming >>>>>> path >>>>>> more often. I don't think there's any valid use cases for STCS anymore >>>>>> now >>>>>> that we have UCS. >>>>>> >>>>>> That said, many have taken issue with the state of UCS docs, myself >>>>>> included, so that would need to be addressed with any default change. >>>>>> >>>>>> I don't think we should mark TWCS as experimental. Maybe we prevent >>>>>> repairs to tables using TWCS, or do a better job of encouraging folks to >>>>>> use incremental repair at higher frequencies. It's definitely not >>>>>> experimental though. >>>>>> >>>>>> Side note: I think experimental has been over-used and has lost all >>>>>> meaning. How is Java 17 experimental? Very confusing for the community. >>>>>> >>>>>> I think TWCS should use UCS under the hood which would address >>>>>> streaming performance (and thus node density) or UCS could be updated to >>>>>> allow for time window's options. Either would solve issue #3 in your >>>>>> list. >>>>>> >>>>>> Jon >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Dec 6, 2024 at 5:36 PM Paulo Motta <pa...@apache.org> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> It’s 2024 and users are still facing issues due to misconfigured >>>>>>> compaction when using default configuration. >>>>>>> >>>>>>> I would like to start a conversation around improving compaction >>>>>>> defaults in 5.1/trunk, so users trying out CQL transactions don’t need >>>>>>> to >>>>>>> worry about tuning compaction. >>>>>>> >>>>>>> A few suggestions: >>>>>>> >>>>>>> 1) Make LeveledCompactionStrategy default on cassandra.yaml, UCS >>>>>>> default on cassandra_latest.yaml ? >>>>>>> >>>>>>> 2) Does TWCS work out of the box with repairs and hints? My >>>>>>> understanding is that due to CASSANDRA-10496 this causes droppable >>>>>>> tombstone issues when in combination with repair and hints (see more on >>>>>>> this thread [1]). We should either fix this or mark TWCS experimental. >>>>>>> >>>>>>> 3) When STCS is used with deletions/TTL, tombstones accumulate in >>>>>>> higher level stables when unchecked_tombstone_compaction is disabled >>>>>>> (see >>>>>>> CASSANDRA-6563). I propose having adding a new setting “auto” enabled by >>>>>>> default that will have this set to true when STCS/TWCS is used. >>>>>>> >>>>>>> I believe addressing these points will improve user experience with >>>>>>> Cassandra. >>>>>>> >>>>>>> I apologize in advance if these topics were discussed in recent >>>>>>> threads. I would be happy to get pointers of related discussions on >>>>>>> this >>>>>>> topic. >>>>>>> >>>>>>> I will be happy to create JIRA if there’s agreement on addressing >>>>>>> these items. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Paulo >>>>>>> >>>>>>> [1] - >>>>>>> >>>>>>> https://user.cassandra.apache.narkive.com/VQOacfnT/twcs-repair-create-new-buckets-with-old-data >>>>>>> >>>>>> >