summaryrefslogtreecommitdiff
path: root/src/mongo/db/session.h
diff options
context:
space:
mode:
authorRandolph Tan <randolph@10gen.com>2018-04-03 18:46:51 -0400
committerRandolph Tan <randolph@10gen.com>2018-04-04 11:51:44 -0400
commit3cd5682db00ced94fb79fcec0a9ceca22c48f4d9 (patch)
tree5bd05054c3682625462ab2f867ad3f5f3be14b9b /src/mongo/db/session.h
parent54d9b66240a5538364be41494ee8cb7a88ef4478 (diff)
downloadmongo-3cd5682db00ced94fb79fcec0a9ceca22c48f4d9.tar.gz
SERVER-33879 config.transactions is not updated during startup replication recovery
Diffstat (limited to 'src/mongo/db/session.h')
-rw-r--r--src/mongo/db/session.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/session.h b/src/mongo/db/session.h
index 51768dc9f69..53d72d1d746 100644
--- a/src/mongo/db/session.h
+++ b/src/mongo/db/session.h
@@ -302,6 +302,16 @@ public:
static std::vector<repl::OplogEntry> addOpsForReplicatingTxnTable(
const std::vector<repl::OplogEntry>& ops);
+ /**
+ * Returns a new oplog entry if the given entry has transaction state embedded within in.
+ * The new oplog entry will contain the operation needed to replicate the transaction
+ * table.
+ * Returns boost::none if the given oplog doesn't have any transaction state or does not
+ * support update to the transaction table.
+ */
+ static boost::optional<repl::OplogEntry> createMatchingTransactionTableUpdate(
+ const repl::OplogEntry& entry);
+
private:
void _beginOrContinueTxn(WithLock, TxnNumber txnNumber, boost::optional<bool> autocommit);