summaryrefslogtreecommitdiff
path: root/src/mongo/db/logical_session_id_helpers.h
diff options
context:
space:
mode:
authorCheahuychou Mao <mao.cheahuychou@gmail.com>2022-01-14 19:38:07 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-01-14 21:42:58 +0000
commit29ef581da2924a81963c563c0f96edd5e56ca9c7 (patch)
treee25723f3eff63fa8b8b6b170ea34e9a810ae10d8 /src/mongo/db/logical_session_id_helpers.h
parentda1a24bd16ce627122def05de91856ea8686b64a (diff)
downloadmongo-29ef581da2924a81963c563c0f96edd5e56ca9c7.tar.gz
SERVER-62020 Make retryable write statements executed with or without internal transactions retryable whether or not internal transactions are involved on retries
Diffstat (limited to 'src/mongo/db/logical_session_id_helpers.h')
-rw-r--r--src/mongo/db/logical_session_id_helpers.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/logical_session_id_helpers.h b/src/mongo/db/logical_session_id_helpers.h
index 9cedddbf02a..7228b2fadce 100644
--- a/src/mongo/db/logical_session_id_helpers.h
+++ b/src/mongo/db/logical_session_id_helpers.h
@@ -67,6 +67,12 @@ LogicalSessionId castToParentSessionId(const LogicalSessionId& sessionId);
bool isInternalSessionForRetryableWrite(const LogicalSessionId& sessionId);
/**
+ * Returns true if the session with the given session id is an internal session for internal
+ * transactions for non-retryable writes (i.e. writes in a session without a transaction number).
+ */
+bool isInternalSessionForNonRetryableWrite(const LogicalSessionId& sessionId);
+
+/**
* Helpers to make internal sessions.
*/
LogicalSessionId makeLogicalSessionIdWithTxnNumberAndUUID(const LogicalSessionId& parentLsid,