This lock acquisition should be a collection IX, not a DB X. This will prevent elections from blocking behind other local database readers and writers. This is just a single document update and as a result shouldn't need a stronger lock. Before doing this we should check the history of this lock and see why it is so coarse grained.
- is related to
-
SERVER-48399 Writing config document to "local.system.replset" should not acquire database lock in stronger mode (X).
- Closed
- related to
-
SERVER-30727 Secondary stuck in loop of current election
- Closed
-
SERVER-42653 Always waitUntilDurable when writing lastVote document
- Closed
- tested by
-
SERVER-42056 Test that local db reads do not block elections or vote requests
- Closed