[SERVER-52800] Add "force" option to cleanupOrphaned that runs the old (pre-resumable range deleter) logic Created: 11/Nov/20  Updated: 06/Dec/22  Resolved: 28/Oct/21

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

Type: Task Priority: Major - P3
Reporter: Esha Maharishi (Inactive) Assignee: [DO NOT USE] Backlog - Sharding EMEA
Resolution: Won't Fix Votes: 0
Labels: sharding-wfbf-sprint
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Assigned Teams:
Sharding EMEA
Sprint: Sharding 2021-03-08, Sharding 2021-03-22, Sharding 2021-04-05, Sharding 2021-04-19, Sharding 2021-05-03
Participants:
Case:

 Description   

This came out of a product sync discussion.

There may be some cases where orphans are created on a shard outside of migrations, e.g. if someone writes directly to the shard.

For cases like this, the old cleanupOrphaned logic that actively deletes orphans from unowned ranges (rather than waiting for all range deletion tasks created by migrations to complete) would still be useful.

We should add a "force: true" option (or perhaps with a different name) to cleanupOrphaned that runs the old logic. It should be used sparingly, since the old cleanupOrphaned logic had several races (particularly SERVER-42352).

The v4.4 branch already chose the old or new logic based on FCV, so master could be made to do something similar based on the "force: true" option.  We should also bring back the tests of the old cleanupOrphaned logic deleted here.



 Comments   
Comment by Kaloian Manassiev [ 28/Oct/21 ]

bernard.gorman has written a script, which allows range deletion to be performed at the client side, under the assumption that the customer has stopped the Balancer and ensured that there are no manual migrations (this ensures stability of the routing/filtering information).

The script is located here.

Comment by Ratika Gandhi [ 28/Oct/21 ]

There is a script that allows you to clean up orphans which can be run manually to solve this problem. Closing this ticket as Won't fix. Kal will link the script here. 

Comment by Kaloian Manassiev [ 21/Oct/21 ]

We should spend one WFBF day to evaluate the feasibility of bringing back the old range deletion code in a safe way (it obeys the ownership correctly). Whoever picks it up, please evaluate that cost and then put back in Needs Triage.

Generated at Thu Feb 08 05:29:03 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.