[SERVER-59914] MetadataManager::trackOrphanedDataCleanup assumes that range can only overlap with a single deletion request Created: 13/Sep/21 Updated: 27/Oct/23 Resolved: 23/Nov/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Randolph Tan | Assignee: | Tommaso Tocci |
| Resolution: | Works as Designed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Operating System: | ALL |
| Sprint: | Sharding EMEA 2022-12-12 |
| Participants: |
| Description |
|
For example, if chunks with range [0, 10) and [10, 20) are in the queue and trackOrphanedDataCleanup is called with chunk that has been merged into [0, 20), it will only return the future for the first range the matched and not the entire range. |
| Comments |
| Comment by Pierlauro Sciarelli [ 28/Sep/22 ] |
|
At moment the method is buggy but safe for the way it is invoked. Very weird but working:
Anyway, starting from v6.2, with the new range deleter this buggy code will not be used anymore as it will be replaced by a method returning a future that will only be marked as ready when all overlapping ranges are cleared up. In v6.3 trackOrpanedDataCleanup will go away forever. Leaving the ticket on the backlog as it's not a priority fixing it on old versions given that usages are safe. |