[SERVER-6658] slaveOk reads are going to primary Created: 31/Jul/12 Updated: 21/Aug/12 Resolved: 21/Aug/12 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | 2.2.0-rc0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Pierre Dane | Assignee: | Craig Wilson |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
windows 64 with c# driver v1.5 |
||
| Operating System: | ALL |
| Participants: |
| Description |
|
linked to : I am still seeing this issue Scott. After upgrading our 2 secondaries to 2.2 rc0 with master still at 2.0.6, driver starts reading from master as well as secondaries. Switching the secondaries back to 2.0.6 resolves the problem. This could be specific to the c# driver, or might be resolved once the master is also upgraded (waiting for production release before upgrading master). Please see details below. The driver is definitely being set to SlaveOk=true, and I do not see this issue when running 2.0.6. localhost:3002 *6 6068 1|86 *0 3 19|0 0 30g 70.7g 44.8g 1388 0 0 37|0 870|1 410k 5m 14671 tagstore SEC 11:46:49 localhost:3002 *3 6828 1|85 *0 2 41|0 0 30g 70.7g 44.8g 2705 0 0 0|0 415|0 444k 5m 14721 tagstore SEC 11:46:50 localhost:3002 *41 4981 1|569 *0 3 11|0 0 30g 70.7g 44.8g 1401 0 0 0|0 33|0 527k 6m 14723 tagstore SEC 11:46:51 localhost:3002 *7 1987 *116 *0 1 9|0 0 30g 70.2g 44.8g 100 0 0 0|0 0|0 161k 1m 14239 tagstore SEC 11:46:52 localhost:3002 *5 1898 *79 *0 2 8|0 0 30g 70.2g 44.8g 29 0 0 0|0 0|0 146k 1m 14232 tagstore SEC 11:46:53 from mongo86 , , , , PRIMARY> db.printSlaveReplicationInfo() |
| Comments |
| Comment by Ian Whalen (Inactive) [ 21/Aug/12 ] |
|
@pierre, please reopen if you continue to see the same problem. |
| Comment by Ian Whalen (Inactive) [ 17/Aug/12 ] |
|
@pierre, assuming you're still seeing the above problem, are you able to run db.isMaster() and post the output? |
| Comment by Craig Wilson [ 31/Jul/12 ] |
|
@Pierre could you run db.isMaster() on each of the members and post that here. The C# driver, does not read from the primary when slaveOk is true unless there are no secondaries available. The driver runs db.IsMaster() to determine the state of each of the members every 10 seconds. |
| Comment by Pierre Dane [ 31/Jul/12 ] |
|
As an aside I am seeing way more queries returning after 100ms that I do with 2.0.6 |