[SERVER-50174] Multiple concurrent migration recoveries after step-up can race for the fixed Lsid/TxnNumber Created: 07/Aug/20 Updated: 29/Oct/23 Resolved: 08/Aug/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 4.7.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Kaloian Manassiev | Assignee: | Kaloian Manassiev |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | PM-1645-Milestone-1 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Sprint: | Sharding 2020-08-10 | ||||||||
| Participants: | |||||||||
| Description |
|
All MigrationCoordinator(s) started from a single MongoD instance share the same logical session id for any operations that they perform (for the lifetime of that instance). Because of this, it is never correct that two migration coordinators exist at the same time. Under normal circumstances, this is guaranteed by the acquisition of the MigrationBlockingGuard at the beginning of each migration. However, in the case where an incomplete migration needs to be recovered, we don't take it. Because of this, it is possible that a migration for a completely unrelated collection can start while a different collection is still running recovery. |
| Comments |
| Comment by Githook User [ 07/Aug/20 ] |
|
Author: {'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}Message: |