[SERVER-24573] Implement CollectionRangeDeleter range deletion logic Created: 14/Jun/16  Updated: 13/Aug/16  Resolved: 02/Aug/16

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 3.3.11

Type: Task Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Leon Zaruvinsky
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-24569 Maintain the 'rangesToClean' and 'met... Closed
Gantt Dependency
has to be done after SERVER-25014 Create the CollectionRangeDeleter cla... Closed
Related
related to SERVER-24367 Implement CollectionRangeDeleter task... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 17 (07/15/16), Sharding 18 (08/05/16)
Participants:

 Description   

Implement CollectionRangeDeleter::cleanupNextRange()

class CollectionRangeDeleter {
public:
    CollectionRangeDeleter(NamespaceString nss);
 
    /**
     * 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();
};

The CollectionRangeDeleter should also invariant (possibly in debug mode only) that none of the entries in the rangesToClean set overlap with active metadata.

In order to achieve above it is acceptable to make the CollectionRangeDeleter a friend of MetadataManager and CollectionShardingState.



 Comments   
Comment by Githook User [ 02/Aug/16 ]

Author:

{u'username': u'leonz', u'name': u'Leon Zaruvinsky', u'email': u'leon@mongodb.com'}

Message: SERVER-24573 Implement CollectionRangeDeleter range deletion logic
Branch: master
https://github.com/mongodb/mongo/commit/2aa2d206290296b358d96f7e0ee44ac7363c506e

Generated at Thu Feb 08 04:06:44 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.