[SERVER-46993] Assess the risk factor of mongos parameters also being linked into mongod Created: 19/Mar/20  Updated: 29/Oct/23  Resolved: 03/Jun/20

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: 4.4.0-rc0, 4.5.1
Fix Version/s: 4.7.0

Type: Bug Priority: Minor - P4
Reporter: Blake Oler Assignee: Randolph Tan
Resolution: Fixed Votes: 0
Labels: sharding-wfbf-day
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-46735 Allow hedging of mapReduce and aggreg... Backlog
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Sharding 2020-05-04, Sharding 2020-05-18, Sharding 2020-06-01, Sharding 2020-06-15
Participants:

 Description   

The mongos server parameters defined here were meant to be linked only into mongos. They are also linked into mongod.

To complicate things, each of the parameters is used in a "hot" area of mongod/mongos cross-linkage, such as async_requests_sender.cpp and sharding_initialization.cpp.

We will need to assess the complications that arise from having these parameters caught in the mongod/mongos cross-link web, and whether setting the parameter on mongod causes odd behavior in a sharded cluster.



 Comments   
Comment by Githook User [ 02/Jun/20 ]

Author:

{'name': 'Randolph Tan', 'email': 'randolph@10gen.com', 'username': 'renctan'}

Message: SERVER-46993 Split parameters exclusive to mongos from being included in mongod binaries
Branch: master
https://github.com/mongodb/mongo/commit/5b158847f032a9d41b667331f2110cad09f075d1

Comment by Randolph Tan [ 30/Apr/20 ]

Here are some of my findings, as of current master:

low risk:
Code path referencing this is only via mongos. Will also not cause undefined behavior even if called on mongod.

loadRoutingTableOnStartup
warmMinConnectionsInShardingTaskExecutorPoolOnStartup
warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS

Medium risk:
Can be referenced by both mongod and mongos. Currently hedge reads are limited only to read commands that are not destructive (ie, they don't consume some private buffer that may lead to incorrect result when attempted to run 2 copies of command). Situation might change with SERVER-46735.

readHedgingMode
maxTimeMSForHedgedReads

medium-low risk:
Can be referenced by both mongod and mongos. The only place where this could be an issue is already properly clearing the affected flag when necessary.
enableFinerGrainedCatalogCacheRefresh

Generated at Thu Feb 08 05:12:59 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.