summaryrefslogtreecommitdiff
path: root/src/mongo/executor/network_interface_tl.h
diff options
context:
space:
mode:
authorGeorge Wangensteen <george.wangensteen@mongodb.com>2023-04-10 04:34:50 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-04-10 05:13:18 +0000
commitc6e5701933a98b4fe91c2409c212fcce2d3d34f0 (patch)
tree4ed7d170b72523beecb2c599ab4c8877a8fb4990 /src/mongo/executor/network_interface_tl.h
parenta37946ca13ae1d1bab79b8e47fd9d70d2ee0cf27 (diff)
downloadmongo-c6e5701933a98b4fe91c2409c212fcce2d3d34f0.tar.gz
SERVER-75725 Control TaskExecutorCursor's connection-pinning behavior with a server parameter and add appropriate testing. In this PR, we:
- Remove the now-obsolete getCallbackHandle interface from TEC. - Hook up the TEC default pinConnection-parameter to the relevant server parameter - Add a new suite running all search tests with that server parameter enabled - Fix a small bug to ensure we use the SSL mode provided by the request in PCTE - Fix a small bug to appropriately handle the case where we can't acquire a stream from the transport layer
Diffstat (limited to 'src/mongo/executor/network_interface_tl.h')
-rw-r--r--src/mongo/executor/network_interface_tl.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mongo/executor/network_interface_tl.h b/src/mongo/executor/network_interface_tl.h
index 52bbe07273a..880a8f46e21 100644
--- a/src/mongo/executor/network_interface_tl.h
+++ b/src/mongo/executor/network_interface_tl.h
@@ -395,8 +395,10 @@ private:
std::unique_ptr<transport::TransportLayer> _ownedTransportLayer;
transport::ReactorHandle _reactor;
- mutable Mutex _mutex =
- MONGO_MAKE_LATCH(HierarchicalAcquisitionLevel(3), "NetworkInterfaceTL::_mutex");
+ // TODO SERVER-75830: This Mutex used to be at hierarcichal acquisition level 3. We temporary
+ // removed the level because it is sometimes acquired as part of task-scheduling when
+ // lower-level mutexes (like the ConnectionPool's) are held.
+ mutable Mutex _mutex = MONGO_MAKE_LATCH("NetworkInterfaceTL::_mutex");
const ConnectionPool::Options _connPoolOpts;
std::unique_ptr<NetworkConnectionHook> _onConnectHook;
std::shared_ptr<ConnectionPool> _pool;