Details
-
Bug
-
Resolution: Unresolved
-
Major - P3
-
None
-
None
-
None
-
Service Arch
-
ALL
-
Description
Hedging is controlled by the following server parameter, settable at both startup and runtime:
server_parameters:
|
readHedgingMode:
|
description: >-
|
Enables hedged reads.
|
set_at: [ startup, runtime ]
|
cpp_class:
|
name: HedgingModeServerParameter
|
The parameter is mapped to a global atomic, defined here and initialized to enabled:
AtomicWord<ReadHedgingMode> gReadHedgingMode{ReadHedgingMode::kOn};
|
This server parameter, along with other mongos-specific parameters (e.g., loadBalancerPort), is packed with async_requests_sender:
env.Library(
|
target='async_requests_sender',
|
source=[
|
'async_requests_sender.cpp',
|
],
|
LIBDEPS=[
|
...
|
'mongos_server_parameters',
|
],
|
LIBDEPS_PRIVATE=[
|
'$BUILD_DIR/mongo/executor/hedge_options_util',
|
],
|
)
|
However, there are non-mongos compilation units that link against this target. For example, the following makes hedging and other mongos-specific behavior available for mongod servers:
env.Library(
|
target='sharded_agg_helpers',
|
...
|
LIBDEPS=[
|
...
|
'$BUILD_DIR/mongo/s/async_requests_sender',
|
...
|
],
|
)
|
Attachments
Issue Links
- is related to
-
SERVER-38728 Allow pipeline with $lookup into a sharded collection to run on mongod
-
- Closed
-