Details
-
Task
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
None
-
Fully Compatible
-
Server Serverless 2021-11-15
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.