Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
master
-
None
-
1
Description
Compaction uses LimitedConcurrencyTask to ensure that no more than 'n' compaction tasks can concurrently execute, more than 'n' tasks can exist and they quickly yield if 'n' are running.
RangeScan code also limits concurrency to 'n', but takes a different approach, only 'n' tasks exist.
Clearly there's a shared functional goal here to ensure these potentially long running tasks limit concurrency (so that there are spare threads available) - but each takes a different approach due to different perceived pros/cons/legacy.
Clearly we can make both work in the same way and share some infrastructure and/or simplify.