[SERVER-73855] Update recipientForgetMigration error handling logic to properly handle CallbackCanceled Created: 09/Feb/23  Updated: 29/Oct/23  Resolved: 22/Feb/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.0.0-rc0, 6.3.2

Type: Bug Priority: Major - P3
Reporter: Christopher Caplinger Assignee: Christopher Caplinger
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v6.3
Sprint: Server Serverless 2023-02-20, Server Serverless 2023-03-06
Participants:
Linked BF Score: 7

 Description   

the recipientSyncData command currently has logic for converting a CallbackCanceled error code into a retryable error. recipientForgetMigration does not currently do the same conversion: https://github.com/10gen/mongo/blob/1049af0cf89571f65cf9a22dfe75119b9059d785/src/mongo/db/repl/tenant_migration_recipient_service.cpp#L3279-L3286

we should update this code to ensure that callers can retry in the event of a CallbackCanceled, since in the case when during a failover, a PrimaryOnlyService's scoped task executor rejects a task (instead of seeing an interrupted OperationContext), we would see kExecutorShutdownStatus propagated down the future chain.



 Comments   
Comment by Githook User [ 18/Apr/23 ]

Author:

{'name': 'Christopher Caplinger', 'email': 'christopher.caplinger@mongodb.com', 'username': 'UnicodeSnowman'}

Message: SERVER-73855: Update recipientForgetMigration logic to handle CallbackCanceled
Branch: v6.3
https://github.com/mongodb/mongo/commit/60ede86de10f74ccd901218a463ac36989485dc8

Comment by Uladzimir Makouski [ 18/Apr/23 ]

Reoccurring on the v6.3 branch: BFG-1892223

Comment by Githook User [ 22/Feb/23 ]

Author:

{'name': 'Christopher Caplinger', 'email': 'christopher.caplinger@mongodb.com', 'username': 'UnicodeSnowman'}

Message: SERVER-73855: Update recipientForgetMigration logic to handle CallbackCanceled
Branch: master
https://github.com/mongodb/mongo/commit/1225c5098c966be7dee612dd5525d52e0b1b660a

Generated at Thu Feb 08 06:25:49 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.