diff options
author | Blake Oler <blake.oler@mongodb.com> | 2023-03-16 14:42:22 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-03-16 15:48:17 +0000 |
commit | 31fc2aeddb58282655c27291a04a53dfed88935c (patch) | |
tree | 7e9e96eff5044a4c2155de3b27a9be6e486cf65e /src/mongo/db/service_entry_point_common.cpp | |
parent | 757102d8184507a82a1bc83b6bbd844ff8e10ab6 (diff) | |
download | mongo-31fc2aeddb58282655c27291a04a53dfed88935c.tar.gz |
SERVER-73819 Allow internal errors to escape DBDirectClient
Diffstat (limited to 'src/mongo/db/service_entry_point_common.cpp')
-rw-r--r-- | src/mongo/db/service_entry_point_common.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mongo/db/service_entry_point_common.cpp b/src/mongo/db/service_entry_point_common.cpp index 839d9860a7d..17833f6be84 100644 --- a/src/mongo/db/service_entry_point_common.cpp +++ b/src/mongo/db/service_entry_point_common.cpp @@ -204,8 +204,13 @@ struct HandleRequest { } } + /** + * Note that DBDirectClient is treated as an internal client in relation to letting + * internal errors escape. + */ bool isInternalClient() const { - return session() && (session()->getTags() & transport::Session::kInternalClient); + return (client().isInDirectClient()) || + (session() && (session()->getTags() & transport::Session::kInternalClient)); } std::unique_ptr<const ServiceEntryPointCommon::Hooks> behaviors; |