To do this, we need to remove supportsOnlineCompaction(). WiredTiger supports online compaction, so the case where this isn't supported is not tested.
Once we remove this, we no longer need database and collections locks during compaction and we can get the collection from the CollectionCatalog. All that's necessary is the global MODE_IS lock to prevent the storage engine from shutting down while compaction is running. The global MODE_IS lock should skip acquiring the RSTL and flow control ticket.
This will also allow other DDL operations needing stronger locks to run during compaction, which could also block oplog application today.
- is duplicated by
-
SERVER-89724 Skip acquiring the RSTL and flow control ticket for compaction
- Closed
- related to
-
WT-11939 Investigate if background compaction can run in parallel with RTS
- Closed