| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
NetworkInterface
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`NetworkInterfaceExceededTimeLimit`
After careful evaluation and research the service-arch team settled into
adding a new argument into connection pool's interface allowing their
users to specify a custom timeout status in case the pool fails to
deliver a connection within a specified time.
This timeout status now competes with `NetworkInterfaceExceededTimeLimit`
which is now returned either when the Connection Pool Controller is rather
used to compute the timeout or when no custom timeout status code is
specified.
This commit also:
- Refactors portions of `ConnectionPoolTest` to reflect changes in the
API.
- Adds `jstests/sharding/max_time_ms_connection_pool.js` integration
test to ensure different timeouts return different statuses.
- Fixes small glitch in `jstests/core/tnxs/many_txns.js` where
`NetworkInterfaceExceededTimeLimit` might be validly returned under rare
resource intense conditions and fail the test, reported as BF-20554.
|
| |
|
|
|
|
| |
This reverts commit ed2e91304a83771f20e3df874222984c61a3e884.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
overflow tests"
This reverts commit 72d104ca45461075fc7a4deb11d3522ff24c62f6.
This reverts commit 77ce2860da66ab9924c0668c76fae564eb7c7dfc.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This commit does the following:
- Introduces the GuaranteedExecutor/GuaranteedExecutorWithFallback class
for when a callback *must* run!
- Centralizes testing Executors in executor_test_util.h!
- Makes a testing suite for InlineCountingExecutor, RejectingExecutor,
and GuaranteedExecutor!
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This reverts commit f4b07839c904a73d28e3994af5bc902004fd4f9d.
|
| |
|
|
|
|
|
|
| |
Remove leading comments that are just stating the filename.
Move any file-level comments below the copyright banner.
Remove leading blank lines.
|
|
|
|
|
|
|
|
| |
Macro ON_BLOCK_EXIT(...) now takes a single callable,
Some renames:
Dismias -> dismiss
MakeGuard => makeGuard
|
| |
|
| |
|
|
|
|
|
| |
Add a method that returns a connection to a host without a context
switch if connections are available and no requests are pending.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A new connection pool option which controls that rate at which we add
new connections. It changes behavior so that only N connections can be
in the processing state at any one time (in setup/refresh). More
connections will be added, if needed, as each new connection completes,
fails or times out.
available in mongos via ShardingTaskExecutorPoolMaxConnecting, defaults
to unlimited.
|
|
|
|
| |
connection_pool_test
|
| |
|
|
|
|
|
|
|
|
|
|
| |
max_time_ms_sharded.js uses a fail point to trigger immediate
ExceededTimeLimit returns from commands. This triggers during connection
establishment via the connection hook, which returns ExceededTimeLimit
to the connection pool and causes us to spin on connection creation.
The fix involves providing our own internal exceeded time limit that
doesn't collide with the remote value.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initial connects and later refreshes have a timeout associated with them
in ASIO that isn't linked to any user generated timeout. These
timeouts, when they trigger, are registered as general failures however.
And general failures cause us to dump all connections from the pool
(propagating that error to all consumers currently waiting for a
connection).
That scheme is sound for actual io errors (because a failure to rpc on
one connection almost certainly means something is badly wrong with all
other open connections), but causes us to fail early and often when
applied to timeouts.
The fix is to treat timeouts on connect and refresh lightly (start
connecting a new connection on timeout) and allow the general request
timeouts to handle timing out user requests.
|
|
|
|
|
| |
* group stats by pool
* fix tests that relied on broken behavior
|
| |
|
|
|
|
| |
unknown state
|
|
|
|
| |
Various fixes for connection pooling
|
|
|