[SERVER-22564] ReplicaSetMonitor might not discover all hosts in a replica set for over 10 seconds Created: 10/Feb/16 Updated: 17/May/19 Resolved: 26/May/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication, Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 3.3.8 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | Misha Tyulenev |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Operating System: | ALL | ||||||||||||||||
| Sprint: | Sharding 12 (04/01/16), Sharding 13 (04/22/16), Sharding 14 (05/13/16), Sharding 15 (06/03/16) | ||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||
| Description |
|
When we create a ReplicaSetMonitor for a replica set for the first time we don't kick off a refresh of that replica set. The ReplicaSetMonitorManager will eventually refresh it, but it only refreshes all sets once every 10 seconds. This means there can be a period of 10 seconds or more (if it has to wait for other sets to be refreshed first) before all nodes of a replica set are discovered. This can cause us to neglect certain secondaries for secondary reads, preventing us from evenly distributing the read load of secondary reads until after the full refresh takes place. |
| Comments |
| Comment by Misha Tyulenev [ 26/May/16 ] |
|
The change modified DBClientRS class that is used by C/C++ drivers and mongo shell. The change affects the way ReplicaSetMonitor "watcher" thread runs, so it may need affect drivers. |
| Comment by Githook User [ 26/May/16 ] |
|
Author: {u'username': u'mikety', u'name': u'Misha Tyulenev', u'email': u'misha@mongodb.com'}Message: |
| Comment by Githook User [ 26/May/16 ] |
|
Author: {u'username': u'mikety', u'name': u'Misha Tyulenev', u'email': u'misha@mongodb.com'}Message: |
| Comment by Misha Tyulenev [ 22/Apr/16 ] |
|
There are two delay issues here: |