[SERVER-43089] Various timeouts should not start elections Created: 29/Aug/19 Updated: 27/Oct/23 Resolved: 30/Aug/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Matthew Russotto | Assignee: | Backlog - Replication Team |
| Resolution: | Works as Designed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Replication
|
||||||||
| Operating System: | ALL | ||||||||
| Participants: | |||||||||
| Description |
|
The priority takeover, catchup takeover, and election timeout callback functions all schedule an election ("if eligible") regardless of whether the callback was canceled or not. They should not schedule elections nor reschedule the election timeout if they are canceled. Additionally, we should have tests which verify that catchup and priority takeover do not cause elections, even dry runs, when canceled (when the primary catches up for catchup takeover, when a different primary takes over for priority takeover). |
| Comments |
| Comment by Matthew Russotto [ 30/Aug/19 ] |
|
The wrapper function ReplCoordinatorImpl::_scheduleWorkAt handles this. |