We want the class created and committed so that implementation can be done independently.
Given the CollectionShardingState and MetadataManager infrastructure we need to implement a RangeDeleter task, which will be what drains the rangesToClean structure.
The RangeDeleter task should have the following interface:
class CollectionRangeDeleter { public: CollectionRangeDeleter(NamespaceString nss); /** * Starts deleting ranges and cleans up this object when it is finished. */ void run(); /** * Acquires the collection IX lock and checks whether there are new entries for the collection's * rangesToClean structure and if they are, deletes some small amount of entries and yields * using the standard query yielding logic. * * Returns true if there are more entries in the rangesToClean set or false otherwise. */ bool cleanupNextRange(); };
- has to be done before
-
SERVER-24573 Implement CollectionRangeDeleter range deletion logic
- Closed