[SERVER-10793] Start election if more than one primary is online Created: 16/Sep/13 Updated: 11/Jul/16 Resolved: 15/Jan/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 2.4.10, 2.5.5 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Scott Hernandez (Inactive) | Assignee: | Eric Milkie |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Participants: | |||||||||
| Description |
| Comments |
| Comment by Githook User [ 09/Mar/14 ] |
|
Author: {u'username': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}Message: |
| Comment by Eric Milkie [ 16/Jan/14 ] |
|
That is correct. The other ticket is scheduled to be fixed with the larger refactor of election protocol. |
| Comment by Zardosht Kasheff [ 16/Jan/14 ] |
|
I think this solution only works if the primaries see each other. If you have a network issue where the two primaries don't see each other, you can have two indefinite primaries. See https://jira.mongodb.org/browse/SERVER-9848. |
| Comment by Githook User [ 15/Jan/14 ] |
|
Author: {u'username': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}Message: |
| Comment by Eric Milkie [ 18/Oct/13 ] |
|
Ok so if I'm a primary node and I receive a heartbeat that someone else is primary, I should step down (at which point, the election logic will take over and hopefully end up with just 1 primary in the end). |
| Comment by Scott Hernandez (Inactive) [ 18/Oct/13 ] |
|
I was thinking that the primaries would take the action when they got the heartbeat. This was to try to cover the case that they got each others heartbeats (each showing that they were primary), not that a 3rd party getting the heartbeats. In the case it is a 3rd party we could use a new command (to inform both) but it seems like the only time we would need this would be when the two primaries can't directly communicate, since they should be able to react directly to heartbeats otherwise. |
| Comment by Eric Milkie [ 18/Oct/13 ] |
|
It's not going to be that simple. At each heartbeat, it's possible that you simply see one node step up to be primary before you get the heartbeat from the node that stepped down. |