summaryrefslogtreecommitdiff
path: root/src/mongo/db/s
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/s')
-rw-r--r--src/mongo/db/s/shard_filtering_metadata_refresh.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/s/shard_filtering_metadata_refresh.cpp b/src/mongo/db/s/shard_filtering_metadata_refresh.cpp
index d7ba97f0a64..f82c83acdd1 100644
--- a/src/mongo/db/s/shard_filtering_metadata_refresh.cpp
+++ b/src/mongo/db/s/shard_filtering_metadata_refresh.cpp
@@ -53,6 +53,7 @@ namespace mongo {
MONGO_FAIL_POINT_DEFINE(skipDatabaseVersionMetadataRefresh);
MONGO_FAIL_POINT_DEFINE(skipShardFilteringMetadataRefresh);
+MONGO_FAIL_POINT_DEFINE(hangInRecoverRefreshThread);
namespace {
void onDbVersionMismatch(OperationContext* opCtx,
@@ -92,6 +93,11 @@ SharedSemiFuture<void> recoverRefreshShardVersion(ServiceContext* serviceContext
stdx::lock_guard<Client> lk(*tc.get());
tc->setSystemOperationKillable(lk);
}
+
+ if (MONGO_unlikely(hangInRecoverRefreshThread.shouldFail())) {
+ hangInRecoverRefreshThread.pauseWhileSet();
+ }
+
auto opCtx = tc->makeOperationContext();
ON_BLOCK_EXIT([&] {