summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcos José Grillo Ramirez <marcos.grillo@mongodb.com>2023-05-08 11:12:14 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-05-10 11:46:34 +0000
commit796abe56bfdbca6968ff570311bf72d93632825b (patch)
treee07586cc502f2e41d4d493d125b43ff696e07c8b
parent30fd31c8e41553491e686b76cf7d5732ad9b96cd (diff)
SERVER-76278 Log extra migration information at the end of the operationr5.0.18-rc2r5.0.18
(cherry picked from commit 41cfc87e3cc05ed15df9029cdb694de17267572c)
-rw-r--r--src/mongo/db/s/migration_source_manager.h11
-rw-r--r--src/mongo/db/s/move_chunk_command.cpp21
2 files changed, 32 insertions, 0 deletions
diff --git a/src/mongo/db/s/migration_source_manager.h b/src/mongo/db/s/migration_source_manager.h
index 17f235bedbe..eb488cbc31c 100644
--- a/src/mongo/db/s/migration_source_manager.h
+++ b/src/mongo/db/s/migration_source_manager.h
@@ -188,6 +188,17 @@ public:
*/
BSONObj getMigrationStatusReport() const;
+ boost::optional<UUID> getMigrationId() {
+ if (_coordinator) {
+ return _coordinator->getMigrationId();
+ }
+ return boost::none;
+ }
+
+ long long getOpTimeMillis() {
+ return _entireOpTimer.millis();
+ }
+
private:
// Used to track the current state of the source manager. See the methods above, which have
// comments explaining the various state transitions.
diff --git a/src/mongo/db/s/move_chunk_command.cpp b/src/mongo/db/s/move_chunk_command.cpp
index 56d493a7f63..e6112a30823 100644
--- a/src/mongo/db/s/move_chunk_command.cpp
+++ b/src/mongo/db/s/move_chunk_command.cpp
@@ -269,6 +269,11 @@ private:
return;
}
+ long long totalDocsCloned = ShardingStatistics::get(opCtx).countDocsClonedOnDonor.load();
+ long long totalBytesCloned = ShardingStatistics::get(opCtx).countBytesClonedOnDonor.load();
+ long long totalCloneTime =
+ ShardingStatistics::get(opCtx).totalDonorChunkCloneTimeMillis.load();
+
MigrationSourceManager migrationSourceManager(
opCtx, moveChunkRequest, donorConnStr, recipientHost);
@@ -291,6 +296,22 @@ private:
uassertStatusOKWithWarning(migrationSourceManager.commitChunkMetadataOnConfig());
moveTimingHelper.done(6);
moveChunkHangAtStep6.pauseWhileSet();
+
+ long long docsCloned =
+ ShardingStatistics::get(opCtx).countDocsClonedOnDonor.load() - totalDocsCloned;
+ long long bytesCloned =
+ ShardingStatistics::get(opCtx).countBytesClonedOnDonor.load() - totalBytesCloned;
+ long long cloneTime =
+ ShardingStatistics::get(opCtx).totalDonorChunkCloneTimeMillis.load() - totalCloneTime;
+ auto migrationId = migrationSourceManager.getMigrationId();
+
+ LOGV2(7627801,
+ "Migration finished",
+ "migrationId"_attr = migrationId ? migrationId->toString() : "",
+ "totalTimeMillis"_attr = migrationSourceManager.getOpTimeMillis(),
+ "docsCloned"_attr = docsCloned,
+ "bytesCloned"_attr = bytesCloned,
+ "cloneTime"_attr = cloneTime);
}
private: