[SERVER-18280] ReplicaSetMonitor should use electionId to avoid talking to old primaries Created: 30/Apr/15 Updated: 14/Jul/17 Resolved: 02/Jun/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Client, Replication |
| Affects Version/s: | None |
| Fix Version/s: | 2.6.11, 3.0.5, 3.1.4 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Andy Schwerin | Assignee: | Daniel Alabi |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Backwards Compatibility: | Minor Change | ||||||||||||||||||||||||||||
| Backport Completed: | |||||||||||||||||||||||||||||
| Sprint: | Sharding 4 06/05/15 | ||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||
| Description |
|
To get "sticky read your writes" behavior out of the internal replica set client, used by mongos and the shell, the internal client's code for replica set monitoring and server selection should accept as "primary" nodes reporting a larger electionId value than the most recently selected primary node. Note that in 2.6 and 3.0, large clock skews (> 30 seconds) between the replica set member nodes may lead to clients that observe an election being unable to issue writes or primary reads. The solution would be to restart those clients. |
| Comments |
| Comment by Githook User [ 02/Jun/15 ] |
|
Author: {u'username': u'alabid', u'name': u'Daniel Alabi', u'email': u'alabidan@gmail.com'}Message: (cherry picked from commit b8c1c49b36abfa2c49cb15a6f1ac4cadaf2a5648) |
| Comment by Githook User [ 02/Jun/15 ] |
|
Author: {u'username': u'alabid', u'name': u'Daniel Alabi', u'email': u'alabidan@gmail.com'}Message: |
| Comment by Githook User [ 29/May/15 ] |
|
Author: {u'username': u'alabid', u'name': u'Daniel Alabi', u'email': u'alabidan@gmail.com'}Message: |
| Comment by A. Jesse Jiryu Davis [ 14/May/15 ] |
|
daniel.alabi@10gen.com the description in the spec is pretty straightforward, LMK if you have any questions. |
| Comment by Andy Schwerin [ 30/Apr/15 ] |
|
NB, this ticket is not about linearizable read operations. |