summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatt dannenberg <matt.dannenberg@10gen.com>2016-02-07 16:20:51 -0500
committermatt dannenberg <matt.dannenberg@10gen.com>2016-02-08 16:53:22 -0500
commit2d42c9ad4e65ff20d1ea1a3799afedca8d78364a (patch)
tree7d5c6ed0dd343a5e134c414ae5ad8b0d0304af76
parentbb591bb00db62498ac1fb7d42d9f223da8daa0ac (diff)
downloadmongo-2d42c9ad4e65ff20d1ea1a3799afedca8d78364a.tar.gz
SERVER-22390 special case InterruptedAtShutdown in waiting for replication inside RangeDeleter to avoid crash
-rw-r--r--src/mongo/db/range_deleter.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mongo/db/range_deleter.cpp b/src/mongo/db/range_deleter.cpp
index 08d5a50ff64..4f10d3ae8b9 100644
--- a/src/mongo/db/range_deleter.cpp
+++ b/src/mongo/db/range_deleter.cpp
@@ -276,6 +276,9 @@ bool _waitForMajority(OperationContext* txn, std::string* errMsg) {
<< durationCount<Seconds>(elapsedTime)
<< " seconds while waiting"
" for deletions to be replicated to majority nodes";
+ } else if (replStatus.status.code() == ErrorCodes::InterruptedAtShutdown) {
+ *errMsg = str::stream() << "rangeDeleter interrupted by shutdown while waiting for "
+ "deletions to be replicated to a majority of nodes";
} else {
LOG(elapsedTime < Seconds(30) ? 1 : 0)
<< "rangeDeleter took " << durationCount<Seconds>(elapsedTime) << " seconds "