The CollectionLock acquisition in onShardVersionMismatch() can throw (for example, due to interrupt on stepdown), but it's called from the catch block in service_entry_point_common.cpp (and there is no try/catch above this point), so if it throws the exception will terminate the server.
We could either put an UninterruptibleLockGuard or try/catch around the lock acquisition; it may be better to put a try/catch, since we probably don't want to block stepdown for this.
- is duplicated by
-
SERVER-35923 onShardVersionMismatch must catch exceptions in AutoGetCollection
- Closed
-
SERVER-35924 AutoGetCollection can throw an unhandled exception within onShardVersionMismatch
- Closed