[SERVER-73960] Support setFCV transitions when catalog shard feature flag is enabled Created: 13/Feb/23  Updated: 29/Oct/23  Resolved: 03/Apr/23

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

Type: Task Priority: Major - P3
Reporter: Jack Mulrow Assignee: Randolph Tan
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-74105 Remove catalog shard checks for lower... Closed
Gantt Dependency
has to be done before SERVER-56579 Enable Feature flag for PM-2290 Closed
Problem/Incident
Related
related to SERVER-71106 Access to Grid members should be prot... Closed
is related to SERVER-75548 Use w:all barrier in transitionToCata... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding NYC 2023-02-20, Sharding NYC 2023-03-06, Sharding NYC 2023-03-20, Sharding NYC 2023-04-03, Sharding NYC 2023-04-17
Participants:
Linked BF Score: 161

 Description   

When the catalog shard feature flag is enabled, a config server will start up with shard components. If the config server is in the latest FCV, it will insert a shardIdentity document locally and consider itself a shard always. To support downgrading to a previous binary, we'll need to remove the shardIdentity document on FCV downgrade, unset ShardingState::enabled(), and ensure the config server can still function properly as a dedicated config server. We'll need to support the inverse when upgrading FCV, ie insert a shardIdentity document and verify the config server functions in both dedicated and catalog shard mode.

Some specific problems to handle:

  • The config server will use a ShardServerCatalogCacheLoader (SSCCL) in all FCVs and we should add logic to the SSCCL to become a pure passthrough to its underlying ConfigServerCatalogCacheLoader when FCV is not fully upgraded. This will require gating its behavior on FCV and joining any in progress tasks during FCV upgrade and downgrade.
  • Shards don't allow deleting the shardIdentity document, which we'll need to relax for this case.
  • ShardingState doesn't support unsetting ShardingState::enabled() currently


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

Author:

{'name': 'Jack Mulrow', 'email': 'jack.mulrow@mongodb.com', 'username': 'jsmulrow'}

Message: SERVER-73960 Disable consistency checker in test
Branch: master
https://github.com/mongodb/mongo/commit/95c2e022727bc10e81ea01262d8cee194ab100f3

Comment by Githook User [ 31/Mar/23 ]

Author:

{'name': 'Randolph Tan', 'email': 'randolph@10gen.com', 'username': 'renctan'}

Message: SERVER-73960 Fix config server secondary catalog cache behavior for lower fcv
Branch: master
https://github.com/mongodb/mongo/commit/a7bc01499b95c2d333c8c642507194021de8c282

Comment by Githook User [ 23/Mar/23 ]

Author:

{'name': 'Randolph Tan', 'email': 'randolph@10gen.com', 'username': 'renctan'}

Message: SERVER-73960 Make config server always insert the shard identity document when catalogShard feature flag is on
Branch: master
https://github.com/mongodb/mongo/commit/89cb29b149ce70c1f85ca8f269fd7920787222e4

Comment by Githook User [ 22/Mar/23 ]

Author:

{'name': 'Randolph Tan', 'email': 'randolph@10gen.com', 'username': 'renctan'}

Message: SERVER-73960 Support for catalog shard configuration for catalog cache loader
Branch: master
https://github.com/mongodb/mongo/commit/dcf20ae1a8d96d4a3f5344e2f3dd3895fcbeff1d

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