summaryrefslogtreecommitdiff
path: root/src/mongo/db/logical_session_id_helpers.cpp
diff options
context:
space:
mode:
authorGregory Noma <gregory.noma@gmail.com>2020-02-26 17:10:11 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-02-28 21:05:38 +0000
commit9cc8d023dd2852f4db2065fc40825641e4c7ae1e (patch)
tree4b2790f4e20abe58d0a27287528fc24ed6f55f55 /src/mongo/db/logical_session_id_helpers.cpp
parent6fd014fc204104822a645df8273b3b177cec9b02 (diff)
downloadmongo-9cc8d023dd2852f4db2065fc40825641e4c7ae1e.tar.gz
SERVER-46431 Attach lsid and txnNumber to commands sent through ReplicaSetNodeProcessInterface
Diffstat (limited to 'src/mongo/db/logical_session_id_helpers.cpp')
-rw-r--r--src/mongo/db/logical_session_id_helpers.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mongo/db/logical_session_id_helpers.cpp b/src/mongo/db/logical_session_id_helpers.cpp
index fae5d790ae3..7577494b4a9 100644
--- a/src/mongo/db/logical_session_id_helpers.cpp
+++ b/src/mongo/db/logical_session_id_helpers.cpp
@@ -199,4 +199,16 @@ LogicalSessionIdSet makeLogicalSessionIds(const std::vector<LogicalSessionFromCl
return lsids;
}
+namespace logical_session_id_helpers {
+
+void serializeLsidAndTxnNumber(OperationContext* opCtx, BSONObjBuilder* builder) {
+ OperationSessionInfo sessionInfo;
+ if (opCtx->getLogicalSessionId()) {
+ sessionInfo.setSessionId(*opCtx->getLogicalSessionId());
+ }
+ sessionInfo.setTxnNumber(opCtx->getTxnNumber());
+ sessionInfo.serialize(builder);
+}
+
+} // namespace logical_session_id_helpers
} // namespace mongo