summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/oplog_applier_impl.cpp
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2023-01-20 15:01:10 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-01-20 21:16:11 +0000
commitd4c9920963d4475624eb58fc62ca0ce61f1f0846 (patch)
treeff19b1415a657632f072b1a5347f4805fc8ad90f /src/mongo/db/repl/oplog_applier_impl.cpp
parent8e08ea05475b8d9249d59c8b41f9cd250a21fbb9 (diff)
downloadmongo-d4c9920963d4475624eb58fc62ca0ce61f1f0846.tar.gz
SERVER-73131 add invariant for abortTransaction and cached partial transaction operations in the same batch
Diffstat (limited to 'src/mongo/db/repl/oplog_applier_impl.cpp')
-rw-r--r--src/mongo/db/repl/oplog_applier_impl.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mongo/db/repl/oplog_applier_impl.cpp b/src/mongo/db/repl/oplog_applier_impl.cpp
index 7f41a03865d..e61ec3397a0 100644
--- a/src/mongo/db/repl/oplog_applier_impl.cpp
+++ b/src/mongo/db/repl/oplog_applier_impl.cpp
@@ -43,6 +43,7 @@
#include "mongo/db/db_raii.h"
#include "mongo/db/repl/apply_ops.h"
#include "mongo/db/repl/oplog_applier_utils.h"
+#include "mongo/db/repl/oplog_batcher.h"
#include "mongo/db/repl/repl_server_parameters_gen.h"
#include "mongo/db/repl/transaction_oplog_application.h"
#include "mongo/db/session/logical_session_id.h"
@@ -734,8 +735,9 @@ void OplogApplierImpl::_deriveOpsAndFillWriterVectors(
}
if (op.getCommandType() == OplogEntry::CommandType::kAbortTransaction) {
- auto& partialTxnList = partialTxnOps[*op.getSessionId()];
- partialTxnList.clear();
+ // Under current oplog batching rules, it is not possible for abortTransaction to
+ // be in the same batch as a preceding partial transaction applyOps oplog entry.
+ invariant(partialTxnOps.empty(), op.toStringForLogging());
}
// Extract applyOps operations and fill writers with extracted operations using this