I have to agree with Chris here. In the vast majority of cases LCS hits the sweet spot and avoids the STCS pitfalls. UCS is too new and I would not make that a default OOTB.
Philosophically, as a project, we should wait until critical features like these reach a certain level of maturity prior to recommending it as a default. For me maturity is a function of adoption by diverse use-cases in production and scale. On Fri, Dec 6, 2024 at 7:42 PM Chris Lohfink <clohfin...@gmail.com> wrote: > While I am actually +1 on LCS being default as it handles more use cases > well compared to STCS. I am -1 on UCS being default anywhere currently, the > UX is horrible, documentation is unreadable and it's only available on a > release barely anyone uses yet (not adequately tested in production). Seems > like there's quite a bit of disagreement here. > > On Fri, Dec 6, 2024 at 9: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 >>>>>> >>>>>