diff options
Diffstat (limited to 'src/mongo/db/s')
-rw-r--r-- | src/mongo/db/s/shard_filtering_metadata_refresh.cpp | 6 |
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([&] { |