summaryrefslogtreecommitdiff
path: root/src/mongo/db/op_observer.h
diff options
context:
space:
mode:
authorTess Avitabile <tess.avitabile@mongodb.com>2018-10-05 16:03:57 -0400
committerTess Avitabile <tess.avitabile@mongodb.com>2018-10-05 18:31:12 -0400
commit2db04b524dc5e2121b74829814db7c8e84e5696d (patch)
treeb28db057db1e3c68dabbf5c4a51d0c5cdfbad082 /src/mongo/db/op_observer.h
parenta55b0131e76846491a23da09f812acede0f7cf46 (diff)
downloadmongo-2db04b524dc5e2121b74829814db7c8e84e5696d.tar.gz
SERVER-37487 Aborting a prepared transaction must not respect maxTransactionLockMillis
Diffstat (limited to 'src/mongo/db/op_observer.h')
-rw-r--r--src/mongo/db/op_observer.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mongo/db/op_observer.h b/src/mongo/db/op_observer.h
index 007b4e02bcf..de919961f25 100644
--- a/src/mongo/db/op_observer.h
+++ b/src/mongo/db/op_observer.h
@@ -262,10 +262,14 @@ public:
/**
* The onTransactionAbort method is called when an atomic transaction aborts, before the
- * RecoveryUnit onRollback() is called. It must be called when the transaction to abort is
+ * RecoveryUnit onRollback() is called. It must not be called when the transaction to abort is
* active.
+ *
+ * If the transaction was prepared, then 'abortOplogEntryOpTime' is passed in to be used as the
+ * OpTime of the oplog entry.
*/
- virtual void onTransactionAbort(OperationContext* opCtx) = 0;
+ virtual void onTransactionAbort(OperationContext* opCtx,
+ boost::optional<OplogSlot> abortOplogEntryOpTime) = 0;
/**
* A structure to hold information about a replication rollback suitable to be passed along to