diff options
Diffstat (limited to 'src/mongo/s/sharding_initialization.cpp')
| -rw-r--r-- | src/mongo/s/sharding_initialization.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/mongo/s/sharding_initialization.cpp b/src/mongo/s/sharding_initialization.cpp index 2bf84b02d18..1c28829a696 100644 --- a/src/mongo/s/sharding_initialization.cpp +++ b/src/mongo/s/sharding_initialization.cpp @@ -182,6 +182,30 @@ Status initializeGlobalShardingState(OperationContext* txn, connPoolOptions.refreshRequirement = Milliseconds(ShardingTaskExecutorPoolRefreshRequirementMS); connPoolOptions.refreshTimeout = Milliseconds(ShardingTaskExecutorPoolRefreshTimeoutMS); + if (connPoolOptions.refreshRequirement <= connPoolOptions.refreshTimeout) { + auto newRefreshTimeout = connPoolOptions.refreshRequirement - Milliseconds(1); + warning() << "ShardingTaskExecutorPoolRefreshRequirementMS (" + << connPoolOptions.refreshRequirement + << ") set below ShardingTaskExecutorPoolRefreshTimeoutMS (" + << connPoolOptions.refreshTimeout + << "). Adjusting ShardingTaskExecutorPoolRefreshTimeoutMS to " + << newRefreshTimeout; + connPoolOptions.refreshTimeout = newRefreshTimeout; + } + + if (connPoolOptions.hostTimeout <= + connPoolOptions.refreshRequirement + connPoolOptions.refreshTimeout) { + auto newHostTimeout = + connPoolOptions.refreshRequirement + connPoolOptions.refreshTimeout + Milliseconds(1); + warning() << "ShardingTaskExecutorPoolHostTimeoutMS (" << connPoolOptions.hostTimeout + << ") set below ShardingTaskExecutorPoolRefreshRequirementMS (" + << connPoolOptions.refreshRequirement + << ") + ShardingTaskExecutorPoolRefreshTimeoutMS (" + << connPoolOptions.refreshTimeout + << "). Adjusting ShardingTaskExecutorPoolHostTimeoutMS to " << newHostTimeout; + connPoolOptions.hostTimeout = newHostTimeout; + } + auto network = executor::makeNetworkInterface("NetworkInterfaceASIO-ShardRegistry", stdx::make_unique<ShardingNetworkConnectionHook>(), |
