[SERVER-41606] Refactor CollectionRangeDeleter so that it's responsibilities are separate from metadata manager Created: 10/Jun/19  Updated: 23/Sep/19  Resolved: 14/Jun/19

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

Type: Task Priority: Major - P3
Reporter: Matthew Saltz (Inactive) Assignee: Alexander Taskov (Inactive)
Resolution: Won't Fix Votes: 0
Labels: todo_in_code
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-41607 Plug new version of the range deleter... Closed
Related
related to SERVER-43438 Complete TODO listed in SERVER-41606 Closed
Sprint: Sharding 2019-06-17, Sharding 2019-07-01
Participants:

 Description   

Currently, the range deleter is conceptually responsible for the following:

  • Deleting ranges of orphaned documents
  • Allowing clients to wait on a specific range to be deleted

Another class, the metadata manager, is responsible for the following:

  • Tracking which chunks may still be in use by ongoing queries
  • Scheduling orphaned ranges for deletion by the range deleter once they are no longer referenced by any ongoing query

However, the current implementation of the range deleter is tightly coupled with the implementation of the metadata manager and the code structure does not clearly delineate these responsibilities.

This ticket is to create a new interface and implementation of the CollectionRangeDeleter such that it is a single-threaded service which pulls ranges to delete from a task queue. It will reuse existing code from the current range deleter to the extent possible. There will be a separate ticket to plug the new version of the range deleter into the metadata manager and remove the old one.



 Comments   
Comment by Matthew Saltz (Inactive) [ 14/Jun/19 ]

Changed the design so that this is no longer necessary

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