summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mongo/db/repl/tenant_oplog_applier.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mongo/db/repl/tenant_oplog_applier.cpp b/src/mongo/db/repl/tenant_oplog_applier.cpp
index 70da52f7ee4..dd8b69ec271 100644
--- a/src/mongo/db/repl/tenant_oplog_applier.cpp
+++ b/src/mongo/db/repl/tenant_oplog_applier.cpp
@@ -663,6 +663,13 @@ void TenantOplogApplier::_writeSessionNoOpsForRange(
opCtx->getServiceContext()->getFastClockSource()->now());
// Clear the old tenant migration UUID.
noopEntry.setFromTenantMigration(boost::none);
+
+ // Set the inner 'o2' optime to the donor entry's optime because the recipient
+ // uses the timestamp in 'o2' to determine where to resume applying from.
+ auto o2Entry = uassertStatusOK(MutableOplogEntry::parse(*entry.getObject2()));
+ o2Entry.setOpTime(entry.getOpTime());
+ o2Entry.setWallClockTime(entry.getWallClockTime());
+ noopEntry.setObject2(o2Entry.toBSON());
}
}
stmtIds.insert(stmtIds.end(), entryStmtIds.begin(), entryStmtIds.end());