Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-85452

config.shards can be outdated if auto bootstrap is not complete before replSetReconfig

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 8.0.0-rc0, 7.3.0-rc3
    • 7.3.0-rc0, 7.2.0-rc3
    • None
    • Fully Compatible
    • ALL
    • v7.3
    • Cluster Scalability 2024-1-22, Cluster Scalability 2024-2-5, Cluster Scalability 2024-2-19
    • 156

    Description

      This bug surfaced from the fix made in SERVER-82363 due to changes from SERVER-21185.

      As part of auto-bootstrap procedure, a shard entry is added in config.shards inside _transitionToConfigShard via scheduleTransitionToConfigShard. The _isReady promise of ShardingReady is fulfilled once the config entry is committed. In the case of calling it when stepping up a primary mongod as part of _shardingOnTransitionToPrimaryHook, a concurrent replSetReconfig command can cause ShardRegistry::scheduleReplicaSetUpdateOnConfigServerIfNeeded silently fail to update without retrying later due to no shard entry present yet. The previous function is called via ReplicationCoordinatorImpl post updating its replica set config document from _finishReplSetReconfig.

      Attachments

        Activity

          People

            wenqin.ye@mongodb.com Wenqin Ye
            abdul.qadeer@mongodb.com Abdul Qadeer
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: