[SERVER-25230] ShardRegistry can temporarily forget newly added repl members Created: 22/Jul/16  Updated: 19/Nov/16  Resolved: 07/Sep/16

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: 3.3.10
Fix Version/s: 3.3.14

Type: Bug Priority: Major - P3
Reporter: Randolph Tan Assignee: Misha Tyulenev
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
is related to SERVER-21906 Race in ShardRegistry::reload and con... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Sharding 2016-08-29, Sharding 2016-09-19
Participants:
Linked BF Score: 0

 Description   

When the ReplicaSetMonitor detects a new member in a shard, it will update the ShardRegistry to contain the new member. However, a reload on the ShardRegistry can happen before the update gets propagated to the config servers. When this happens, the reload will not contain the new member, and this can cause the ShardRegistry to temporarily "forget" about the new member until the next reload after the config server gets updated with the new member.



 Comments   
Comment by Githook User [ 07/Sep/16 ]

Author:

{u'username': u'mikety', u'name': u'Misha Tyulenev', u'email': u'misha@mongodb.com'}

Message: SERVER-25230 use ReplicaSetMonitor's ConnectionString when reloading shards from config
Branch: master
https://github.com/mongodb/mongo/commit/865045d5dd78dfe167783f825dca0d537563797d

Comment by Misha Tyulenev [ 01/Sep/16 ]

In practice this is not going to cause problems problems: the RemoteCommandTargeter::findHost calls ReplicaSetMonitor::getHostOrRefresh and this will refresh the ShardRegistry with the latest data.

Generated at Thu Feb 08 04:08:37 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.