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

ConfigsvrConfigureCollectionBalancing should not call tellShardsToRefreshCollection while holding the chunk lock

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.0.0-rc0, 5.3.0-rc3
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • v5.3
    • Sharding EMEA 2022-03-07, Sharding EMEA 2022-05-16

      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.

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

              Created:
              Updated:
              Resolved: