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

ConfigsvrConfigureCollectionBalancing should not call tellShardsToRefreshCollection while holding the chunk lock

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 6.0.0-rc0, 5.3.0-rc3
    • None
    • None
    • None
    • Fully Compatible
    • ALL
    • v5.3
    • Sharding EMEA 2022-03-07, Sharding EMEA 2022-05-16

    Description

      Suppose there is an ongoing chunk migration concurrent with a call to configureCollectionBalancing. The thread running configureCollectionBalancing gets the chunk lock. The migration then enters the critical section. configureCollectionBalancing then calls tellShardsToRefreshCollection which runs flushRoutingTableCacheUpdates which waits for the migration critical section to complete. But the thread running the migration is waiting for the chunk lock in order to commit.

      This means we cannot call tellShardsToRefreshCollection while holding the chunk lock.

      Attachments

        Activity

          People

            allison.easton@mongodb.com Allison Easton
            allison.easton@mongodb.com Allison Easton
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: