[SERVER-61174] scatterGatherVersionedTargetByRoutingTable handles TenantMigrationAborted Created: 01/Nov/21 Updated: 29/Oct/23 Resolved: 05/Nov/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 5.2.0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Esha Maharishi (Inactive) | Assignee: | Sophia Tan |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Sprint: | Server Serverless 2021-11-15 |
| Participants: |
| Description |
|
Many commands use the scatterGatherVersionedTargetByRoutingTable helper. Any such commands that are writes (generate an oplog entry) will fail with TenantMigrationAborted if received by the donor while a tenant migration is in the "blocking writes" state, and then the tenant migration ends up aborting. One example of such a command is createIndexes. Currently, since mongos/mongoq do not handle TenantMigrationAborted, the TenantMigrationAborted error will be returned to the client. This ticket is to make scatterGatherVersionedTargetByRoutingTable throw on TenantMigrationAborted (similar to how it throws on other routing errors). The TenantMigrationAborted error will then be caught in the service entry point and the command will be retried. |
| Comments |
| Comment by Githook User [ 05/Nov/21 ] |
|
Author: {'name': 'Sophia Tan', 'email': 'sophia_tll@hotmail.com', 'username': 'sophiatll'}Message: |