[SERVER-62064] Serialize resharding with other DDL operations on stepup Created: 15/Dec/21  Updated: 29/Oct/23  Resolved: 07/Jan/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: 5.0.0, 5.2.0, 5.1.0
Fix Version/s: 5.3.0

Type: Bug Priority: Major - P3
Reporter: Tommaso Tocci Assignee: Jordi Serra Torrens
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-62338 Delete ReshardCollectionCoordinator_N... Closed
is related to SERVER-62418 Drain recoverable ReshardCollectionCo... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Sharding EMEA 2021-12-27, Sharding EMEA 2022-01-10
Participants:

 Description   

Serializeation of DDL operations on step-up is guaranteed by the ShardingDDLCoordinator service that rely on the assumption that all the uncompleted DDL operations store their coordinator document in config.system.sharding_ddl_coordinators .
Resharding is a bit special in this sense because it has its own recovery method running on the CSRS and doesn't store any coordinator document on the DB primary shard. This means that on stendup other DDL operations could wrongly be executed concurrently with resharding on the same namespace.
In order to fix this we will create a proper ShardingDDLCoordianator for resharding that will store its coordinator document along with the other DDL operations.

The coordination of the resharding operation will still be delegated to the CSRS and the new ShardingDDLCoordinator  on the DB primary shard will act just as a pass-through.



 Comments   
Comment by Githook User [ 07/Jan/22 ]

Author:

{'name': 'Jordi Serra Torrens', 'email': 'jordi.serra-torrens@mongodb.com', 'username': 'jordist'}

Message: SERVER-62064 Serialize resharding with other DDL operations on stepup
Branch: master
https://github.com/mongodb/mongo/commit/86773e0404ac646ad94e510852c0274bb9257b42

Generated at Thu Feb 08 05:54:04 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.