ConfigsvrConfigureCollectionBalancing should not call tellShardsToRefreshCollection while holding the chunk lock

XMLWordPrintableJSON

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

      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
            Reporter:
            Allison Easton
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: