summaryrefslogtreecommitdiff
path: root/src/mongo/db/client_metadata_propagation_egress_hook.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/client_metadata_propagation_egress_hook.cpp')
-rw-r--r--src/mongo/db/client_metadata_propagation_egress_hook.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mongo/db/client_metadata_propagation_egress_hook.cpp b/src/mongo/db/client_metadata_propagation_egress_hook.cpp
index 2da3c615fd5..3da25eaf5e4 100644
--- a/src/mongo/db/client_metadata_propagation_egress_hook.cpp
+++ b/src/mongo/db/client_metadata_propagation_egress_hook.cpp
@@ -29,7 +29,7 @@
#include "mongo/db/client_metadata_propagation_egress_hook.h"
-#include "mongo/rpc/metadata/client_metadata_ismaster.h"
+#include "mongo/rpc/metadata/client_metadata.h"
#include "mongo/rpc/metadata/impersonated_user_metadata.h"
namespace mongo {
@@ -37,9 +37,16 @@ namespace rpc {
Status ClientMetadataPropagationEgressHook::writeRequestMetadata(OperationContext* opCtx,
BSONObjBuilder* metadataBob) {
+ if (!opCtx) {
+ return Status::OK();
+ }
+
try {
writeAuthDataToImpersonatedUserMetadata(opCtx, metadataBob);
- ClientMetadataIsMasterState::writeToMetadata(opCtx, metadataBob);
+
+ if (auto metadata = ClientMetadata::get(opCtx->getClient())) {
+ metadata->writeToMetadata(metadataBob);
+ }
return Status::OK();
} catch (...) {
return exceptionToStatus();