summaryrefslogtreecommitdiff
path: root/src/mongo/db/op_observer_registry.h
diff options
context:
space:
mode:
authorBlake Oler <blake.oler@mongodb.com>2019-02-13 12:44:39 -0500
committerBlake Oler <blake.oler@mongodb.com>2019-02-20 15:41:41 -0500
commitbdd0c8ff4cb70b3c14e2dfbe68c0baa3b26a6e82 (patch)
tree9add6eba3de4aebaf6b1e9b6b2be1ef53059598e /src/mongo/db/op_observer_registry.h
parent0d79175a88ee958722c0ffb276606949e695d028 (diff)
downloadmongo-bdd0c8ff4cb70b3c14e2dfbe68c0baa3b26a6e82.tar.gz
SERVER-39561 Split OpObserver::onTransactionCommit() into two functions for unprepared and prepared transactions respectively
Diffstat (limited to 'src/mongo/db/op_observer_registry.h')
-rw-r--r--src/mongo/db/op_observer_registry.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/mongo/db/op_observer_registry.h b/src/mongo/db/op_observer_registry.h
index 6ea895855d1..946ee8893e9 100644
--- a/src/mongo/db/op_observer_registry.h
+++ b/src/mongo/db/op_observer_registry.h
@@ -258,13 +258,22 @@ public:
o->onEmptyCapped(opCtx, collectionName, uuid);
}
- void onTransactionCommit(OperationContext* opCtx,
- boost::optional<OplogSlot> commitOplogEntryOpTime,
- boost::optional<Timestamp> commitTimestamp,
- std::vector<repl::ReplOperation>& statements) override {
+ void onUnpreparedTransactionCommit(
+ OperationContext* opCtx, const std::vector<repl::ReplOperation>& statements) override {
ReservedTimes times{opCtx};
for (auto& o : _observers)
- o->onTransactionCommit(opCtx, commitOplogEntryOpTime, commitTimestamp, statements);
+ o->onUnpreparedTransactionCommit(opCtx, statements);
+ }
+
+ void onPreparedTransactionCommit(
+ OperationContext* opCtx,
+ OplogSlot commitOplogEntryOpTime,
+ Timestamp commitTimestamp,
+ const std::vector<repl::ReplOperation>& statements) noexcept override {
+ ReservedTimes times{opCtx};
+ for (auto& o : _observers)
+ o->onPreparedTransactionCommit(
+ opCtx, commitOplogEntryOpTime, commitTimestamp, statements);
}
void onTransactionPrepare(OperationContext* opCtx,