-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
Fully Compatible
-
ALL
-
Repl 2018-01-29
-
0
CollectionCloner::shutdown() may block waiting for the implicit join inside RemoteCommandRetryScheduler's destructor (while calling reset() in "_verifyCollectionDroppedScheduler").
collection_cloner.cpp
void CollectionCloner::_cancelRemainingWork_inlock() {
if (_arm) {
Client::initThreadIfNotAlready();
_killArmHandle = _arm->kill(cc().getOperationContext());
}
_countScheduler.shutdown();
_listIndexesFetcher.shutdown();
if (_establishCollectionCursorsScheduler) {
_establishCollectionCursorsScheduler->shutdown();
}
if (_verifyCollectionDroppedScheduler) {
_verifyCollectionDroppedScheduler->shutdown();
_verifyCollectionDroppedScheduler.reset();
}
_dbWorkTaskRunner.cancel();
}
- is related to
-
SERVER-31267 CollectionCloner fails if collection is dropped between getMore calls
- Closed