Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Won't Fix
Description
Presently, it's simply painful to run a major compaction with DTCS. It doesn't really serve a useful purpose. Instead, a DTCS major compaction should allow for a DTCS-style compaction to go back before max_sstable_age_days. We can call this a historic compaction, for lack of a better term.
Such a compaction should not take precedence over normal compaction work, but should be considered a background task. By default there should be a cap on the number of these tasks running. It would be nice to have a separate "max_historic_compaction_tasks" and possibly a "max_historic_compaction_throughput" in the compaction settings to allow for separate throttles on this. I would set these at 1 and 20% of the usual compaction throughput if they aren't set explicitly.
It may also be desirable to allow historic compaction to run apart from running a major compaction, and to simply disable major compaction altogether for DTCS.