[SERVER-73812] Do not automatically retry the _shardsvrCloneCatalogData command Created: 09/Feb/23 Updated: 29/Oct/23 Resolved: 14/Feb/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 7.0.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Antonio Fuschetto | Assignee: | Antonio Fuschetto |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | PM-2144-Milestone-0 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Sharding EMEA
|
| Backwards Compatibility: | Fully Compatible |
| Sprint: | Sharding EMEA 2023-02-20 |
| Participants: |
| Description |
|
The donor shard of the movePrimary invokes the _shardsvrCloneCatalogData command to ask the recipient to clone the unsharded collections of the given database. If for any reason the recipient fails to clone the catalog data (e.g., the node steps down), the donor automatically retries the command, but it may fail with the NamespaceExists error. This occurs because the previous call may have cloned the data, partially or entirely. Since _shardsvrCloneCatalogData is not idempotent, and the entire cloning phase of the movePrimary would be repeated after cleaning up any orphaned data on the recipient, the command must be invoked once. |
| Comments |
| Comment by Githook User [ 14/Feb/23 ] |
|
Author: {'name': 'Antonio Fuschetto', 'email': 'antonio.fuschetto@mongodb.com', 'username': 'afuschetto'}Message: |