summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/transaction_coordinator_test_fixture.cpp
diff options
context:
space:
mode:
authorLamont Nelson <lamont.nelson@mongodb.com>2019-09-05 18:32:19 +0000
committerevergreen <evergreen@mongodb.com>2019-09-05 18:32:19 +0000
commitb46eb782c4730c8df589a56550c29c3f3585904a (patch)
tree908a3dffce58c449a9d241f193c99e1e6ec28bee /src/mongo/db/s/transaction_coordinator_test_fixture.cpp
parent174736c49e4a284d12c2d31a3f9c8bf341a35c65 (diff)
downloadmongo-b46eb782c4730c8df589a56550c29c3f3585904a.tar.gz
SERVER-42809 report metrics for the transaction coordinators in curop command
Diffstat (limited to 'src/mongo/db/s/transaction_coordinator_test_fixture.cpp')
-rw-r--r--src/mongo/db/s/transaction_coordinator_test_fixture.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mongo/db/s/transaction_coordinator_test_fixture.cpp b/src/mongo/db/s/transaction_coordinator_test_fixture.cpp
index 6554461dd97..2891f938e85 100644
--- a/src/mongo/db/s/transaction_coordinator_test_fixture.cpp
+++ b/src/mongo/db/s/transaction_coordinator_test_fixture.cpp
@@ -38,6 +38,8 @@
#include "mongo/db/commands/txn_two_phase_commit_cmds_gen.h"
#include "mongo/db/operation_context.h"
#include "mongo/db/s/wait_for_majority_service.h"
+#include "mongo/rpc/metadata/client_metadata.h"
+#include "mongo/rpc/metadata/client_metadata_ismaster.h"
#include "mongo/s/catalog/sharding_catalog_client_mock.h"
#include "mongo/s/catalog/type_shard.h"
#include "mongo/unittest/unittest.h"
@@ -123,4 +125,20 @@ void TransactionCoordinatorTestFixture::advanceClockAndExecuteScheduledTasks() {
network()->advanceTime(network()->now() + Seconds{1});
}
+void TransactionCoordinatorTestFixture::associateClientMetadata(Client* client,
+ std::string appName) {
+ BSONObjBuilder metadataBuilder;
+ ASSERT_OK(ClientMetadata::serializePrivate(std::string("DriverName").insert(0, appName),
+ std::string("DriverVersion").insert(0, appName),
+ std::string("OsType").insert(0, appName),
+ std::string("OsName").insert(0, appName),
+ std::string("OsArchitecture").insert(0, appName),
+ std::string("OsVersion").insert(0, appName),
+ appName,
+ &metadataBuilder));
+ auto clientMetadata = metadataBuilder.obj();
+ auto clientMetadataParse = ClientMetadata::parse(clientMetadata["client"]);
+ ClientMetadataIsMasterState::setClientMetadata(client,
+ std::move(clientMetadataParse.getValue()));
+}
} // namespace mongo