[SERVER-6322] Unbalanced read load on secondaries caused replRead.js in slowNightly to fail Created: 06/Jul/12 Updated: 11/Jul/16 Resolved: 09/Jul/12 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Client |
| Affects Version/s: | 2.1.2 |
| Fix Version/s: | 2.2.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Randolph Tan | Assignee: | Randolph Tan |
| Resolution: | Done | Votes: | 0 |
| Labels: | buildbot | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Operating System: | ALL |
| Participants: |
| Description |
|
http://buildlogs.mongodb.org/build/4ff70222d2a60f11a9000e2c/test/4ff70224d2a60f11c7000dd5/ Excerpt from logs:
|
| Comments |
| Comment by auto [ 09/Jul/12 ] |
|
Author: {u'date': u'2012-07-06T08:47:47-07:00', u'email': u'randolph@10gen.com', u'name': u'Randolph Tan'}Message: |
| Comment by Randolph Tan [ 06/Jul/12 ] |
|
Cause: the last host passed to the _selectNode method for round robin selection comes from the DBClientReplicaSet which is always initialized as an empty host for a newly created connection. This in turn will make _selectNode always select the same node at the first time a slaveOk operation is performed on DBClientReplicaSet. Fix: store the last host information in the ReplicaSetMonitor, just like the _nextSlave member variable used by the now deprecated getSlave() method (which only exists because it was part of the public interface). |