[SERVER-62586] Defragmentation error handling should wait for all outstanding actions to finish Created: 13/Jan/22  Updated: 29/Oct/23  Resolved: 24/Jan/22

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

Type: Task Priority: Major - P3
Reporter: Allison Easton Assignee: Allison Easton
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Sharding EMEA 2022-01-24
Participants:

 Description   

Currently, when a non-retriable error occurs during collection defragmentation, the defragmentation state for that collection is destroyed and removed from the map of defragmentation states.
However, if the error is not a drop collection or database, the defragmentation state will be recreated during the next balancer round so that defragmentation can be retried. We are not currently waiting for all outstanding requests for the collection to be finished before removing the state, which could result in requests from the previous instance of defragmentation to be acknowledged by the current defragmentation state.

We should modify the error handling so that the state is only removed after all outstanding actions have been acknowledged.



 Comments   
Comment by Githook User [ 21/Jan/22 ]

Author:

{'name': 'Allison Easton', 'email': 'allison.easton@mongodb.com', 'username': 'allisoneaston'}

Message: SERVER-62586 Defragmentation error handling should wait for all outstanding actions to finish
Branch: master
https://github.com/mongodb/mongo/commit/b280c2c1fda2f38f011642811ae0f067d6545104

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