Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Fixed
-
None
-
None
-
Fully Compatible
-
ALL
-
v3.4
-
Repl 2017-05-08
Description
Stepdown command ensures a majority of caught up nodes. It does so by waiting for the _lastCommittedOpTime to reach the last applied optime. However, during catchup, the primary cannot advance its _lastCommittedOpTime until it commits an operation in its term. Thus stepdown command will fail due to timeout if the _lastCommittedOpTime isn't updated before the election. We could fix this by using the same logic that awaitReplication() uses for determining whether a majority of nodes are at the given time, rather than using _lastCommittedOpTime directly.
Attachments
Issue Links
- is related to
-
SERVER-28702 Race condition of stepdown command and signaling stepdown waiter
-
- Closed
-
-
SERVER-26848 Exit catchup mode when not syncing more data
-
- Closed
-