summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/shard_filtering_metadata_refresh.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/s/shard_filtering_metadata_refresh.cpp')
-rw-r--r--src/mongo/db/s/shard_filtering_metadata_refresh.cpp10
1 files changed, 10 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 51bb630571f..60046674966 100644
--- a/src/mongo/db/s/shard_filtering_metadata_refresh.cpp
+++ b/src/mongo/db/s/shard_filtering_metadata_refresh.cpp
@@ -33,6 +33,7 @@
#include "mongo/db/catalog/database_holder.h"
#include "mongo/db/catalog_raii.h"
#include "mongo/db/commands/feature_compatibility_version.h"
+#include "mongo/db/curop.h"
#include "mongo/db/operation_context.h"
#include "mongo/db/s/collection_sharding_runtime.h"
#include "mongo/db/s/database_sharding_state.h"
@@ -64,6 +65,11 @@ void onDbVersionMismatch(OperationContext* opCtx,
invariant(!opCtx->getClient()->isInDirectClient());
invariant(ShardingState::get(opCtx)->canAcceptShardedCommands());
+ Timer t{};
+ ScopeGuard finishTiming([&] {
+ CurOp::get(opCtx)->debug().databaseVersionRefreshMillis += Milliseconds(t.millis());
+ });
+
{
// Take the DBLock directly rather than using AutoGetDb, to prevent a recursive call into
// checkDbVersion().
@@ -243,6 +249,10 @@ void onShardVersionMismatch(OperationContext* opCtx,
invariant(!opCtx->getClient()->isInDirectClient());
invariant(ShardingState::get(opCtx)->canAcceptShardedCommands());
+ Timer t{};
+ ScopeGuard finishTiming(
+ [&] { CurOp::get(opCtx)->debug().shardVersionRefreshMillis += Milliseconds(t.millis()); });
+
if (nss.isNamespaceAlwaysUnsharded()) {
return;
}