-
Type: New Feature
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Component/s: None
-
None
This is a change to the SDAM specification.
Because electionIds from different protocol versions aren't comparable,
drivers must compare (setVersion, electionId) tuples to detect stale
primaries.
You can see the details of the spec change in these commits:
- https://github.com/mongodb/specifications/commit/f63e74c8565c6515ce5c81feee29feb5008328e1
- https://github.com/mongodb/specifications/commit/73b92206002c41243facc745036512aa8a44b6f4
SDAM tests are also updated:
- https://github.com/mongodb/specifications/commit/9f4ecb128a820cacd016c5be58824f72dec75942
- https://github.com/mongodb/specifications/commit/034efc8f0ba7f56acb01de44dd6394ab148e1a21
- https://github.com/mongodb/specifications/commit/80b0a9e03212c3385c354d115ca75af1e4c79016
NOTE: Make sure to update the test runner to assert on electionId and setVersion equality
- depends on
-
CSHARP-1526 Use setVersion and electionId to detect stale primaries
- Closed
-
NODE-634 Use setVersion and electionId to detect stale primaries
- Closed
-
RUBY-1077 Use setVersion and electionId to detect stale primaries
- Closed
-
CDRIVER-1056 Use setVersion and electionId to detect stale primaries
- Closed
-
JAVA-2069 Use setVersion and electionId to detect stale primaries
- Closed
-
PYTHON-1036 Use setVersion and electionId to detect stale primaries
- Closed
- is related to
-
SERVER-21744 Clients may fail to discover new primaries when clock skew between nodes is greater than electionTimeout
- Closed