-
Type: Bug
-
Resolution: Cannot Reproduce
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Internal Code
-
Service Arch
-
ALL
-
0
-
6
The following is a snippet from SpecificPool::spawnConnections that spawns new connections for connection pools:
// spawn enough connections to satisfy open requests and minpool, while honoring maxpool void ConnectionPool::SpecificPool::spawnConnections() { ... for (decltype(allowance) i = 0; i < allowance; ++i) { OwnedConnection handle; try { handle = _parent->_factory->makeConnection(_hostAndPort, _sslMode, _generation); } catch (std::system_error& e) { ... } ... handle->setup(_parent->_controller->pendingTimeout(), guardCallback([this](auto conn, auto status) { finishRefresh(std::move(conn), std::move(status)); }), _parent->getName()); } }
This ticket should investigate (and fix) the underlying cause for sporadic large delays (more than 50 milliseconds) in connection establishment.
This delay can be measured by capturing current time (e.g., using _parent->_factory->now()) before calling into TLConnection::setup and before running the callback function.
- related to
-
SERVER-59700 Add programming support for tracepoints
- Closed
-
SERVER-59617 Pre-warm mongod and mongos connection pools for `hedged_reads.js`
- Closed
-
SERVER-61084 Remove now-unnecessary ShardingTaskExecutorPoolMinSize mongos parameter in hedged_reads.js
- Closed