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.
- causes
-
SERVER-64319 Coverity analysis defect 121642: Parse warning
- Closed