As part of the changes to make collection metadata refresh asynchronous, it is possible that the CatalogCache::getCollectionRoutingInfo call can throw on interruption.
When MetadataManager::finishRecovery gets this exception, it will unwind through the scoped guard block and will propagate the exception to the balancer main thread, which is not prepared to handle it.