summaryrefslogtreecommitdiff
path: root/src/mongo/db/session_catalog.h
diff options
context:
space:
mode:
authorJack Mulrow <jack.mulrow@mongodb.com>2017-08-14 13:12:43 -0400
committerJack Mulrow <jack.mulrow@mongodb.com>2017-08-17 15:49:14 -0400
commit3d3543b684d239b12e6dac97d2e3d57d4b0dbfc4 (patch)
tree3678cde306c8389224f91f42918beec8448547b8 /src/mongo/db/session_catalog.h
parentc1aaff64cdf88d3ff2f0220033964fa6fcdb5513 (diff)
downloadmongo-3d3543b684d239b12e6dac97d2e3d57d4b0dbfc4.tar.gz
SERVER-30076 Use the UUID of the transactions collection for rollback via refetch
Diffstat (limited to 'src/mongo/db/session_catalog.h')
-rw-r--r--src/mongo/db/session_catalog.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/session_catalog.h b/src/mongo/db/session_catalog.h
index b4c4d6b3775..27aeb059669 100644
--- a/src/mongo/db/session_catalog.h
+++ b/src/mongo/db/session_catalog.h
@@ -75,6 +75,12 @@ public:
static SessionCatalog* get(ServiceContext* service);
/**
+ * Fetches the UUID of the transaction table, or an empty optional if the collection does not
+ * exist or has no UUID. Acquires a lock on the collection. Required for rollback via refetch.
+ */
+ static boost::optional<UUID> getTransactionTableUUID(OperationContext* opCtx);
+
+ /**
* Invoked when the node enters the primary state. Ensures that the transactions collection is
* created. Throws on severe exceptions due to which it is not safe to continue the step-up
* process.