The ShardRegistry periodic reloader is executed on the ShardRegistry::_executor and down in the stack calls ShardRegistry::_getDataAsync().get(opCtx) this last call will wait for the refresh of the underlying readThroughCache that will be executed on the ShardRegistry::_threadPool.
So the _executor waits on the _threadPool, this means that during shutdown of the ShardRegistry we need first to shutdown the _threadPool and only after we can shutdown and join the _executor.
- is related to
-
SERVER-64725 Make ShardRegistry::periodicReloader interruptible
- Closed