[SERVER-38731] Ability to specify sync source read preference in initial sync Created: 20/Dec/18 Updated: 29/Oct/23 Resolved: 18/Mar/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 4.4.0-rc0, 4.2.7, 4.7.0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Arnie Listhaus | Assignee: | Matthew Russotto |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||
| Backport Requested: |
v4.4, v4.2
|
||||||||||||||||||||||||||||
| Sprint: | Repl 2020-03-09, Repl 2020-03-23 | ||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||
| Case: | (copied to CRM) | ||||||||||||||||||||||||||||
| Description |
|
Our current implementation of choosing a sync source for initial sync as well as steady state sync could be improved to include preferences provided by the user for situations including:
If the preference is not specified or can not be accommodated then we should fall back to choosing based on latency and currency as we do today. It would be helpful for the specification of a sync source preference to be part of the replica set configuration so it is easily noticed and easily managed. The log should reflect the preference and the reason it was overridden when need be. |
| Comments |
| Comment by Githook User [ 21/Apr/20 ] |
|
Author: {'name': 'Matthew Russotto', 'email': 'matthew.russotto@10gen.com', 'username': 'mtrussotto'}Message: |
| Comment by Githook User [ 27/Mar/20 ] |
|
Author: {'name': 'Matthew Russotto', 'username': 'mtrussotto', 'email': 'matthew.russotto@10gen.com'}Message: (cherry-picked from commit 7296a460f826c8a618147e09606c5f1935c482a4) |
| Comment by Judah Schvimer [ 27/Mar/20 ] |
|
When backporting to 4.2 we should make the default read preference always 'nearest' to not have a minor version behavior change. |
| Comment by Githook User [ 18/Mar/20 ] |
|
Author: {'email': 'matthew.russotto@10gen.com', 'name': 'Matthew Russotto', 'username': 'mtrussotto'}Message: |
| Comment by Judah Schvimer [ 24/Feb/20 ] |
|
Agreed upon behavior:
|