[SERVER-74880] movePrimary participant should drain DDL ops over the same dbName before acquiring the critical section Created: 15/Mar/23  Updated: 29/Oct/23  Resolved: 29/Mar/23

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: 6.3.0-rc0
Fix Version/s: 7.0.0-rc0

Type: Bug Priority: Major - P3
Reporter: Sergi Mateo Bellido Assignee: Antonio Fuschetto
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
is caused by SERVER-71201 Prevent operations on the recipient w... Closed
Related
is related to SERVER-73391 Use recoverable critical section for ... Closed
Assigned Teams:
Sharding EMEA
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Sharding EMEA 2023-04-03
Participants:
Linked BF Score: 147

 Description   

SERVER-71201 changed the movePrimary protocol, introducing the acquisition of the Recoverable Critical Section on the recipient shard as a way to prevent operations on it. However, before trying to acquire the RCS we should drain any ongoing DDL operation over that namespace, because they might be holding the RCS.



 Comments   
Comment by Antonio Fuschetto [ 29/Mar/23 ]

The final decision to resolve the error case described above was to wait for the possible critical section on the database to complete (potentially entered by the dropDatabase command).

Comment by Githook User [ 29/Mar/23 ]

Author:

{'name': 'Antonio Fuschetto', 'email': 'antonio.fuschetto@mongodb.com', 'username': 'afuschetto'}

Message: SERVER-74880 movePrimary participant waits for critical section to complete
Branch: master
https://github.com/mongodb/mongo/commit/146cb92b2ac48f4d69ac4c839178eac418cfdaba

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