[SERVER-9192] Replication topology configuration Created: 31/Mar/13 Updated: 31/Mar/13 Resolved: 31/Mar/13 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | 2.2.3 |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Aristarkh Zagorodnikov | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Irrelevant |
||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Participants: | |||||||||
| Description |
|
When building a replica set of 3 nodes (db1, db2, db3), when db1 is primary, internal replication logic usually builds a chain db1 -> db2 -> db3 instead of db1 -> db2 + db1 -> db3. This leads to greatly increased latencies if w:all (or w:majority with sets of 4+ members) is used. I know about replSetSyncFrom command, but it's only a temporary measure. I understand that this chaining is done to reduce load on master and (probably) reduce amount of reconnections whem primary goes down. I would strongly suggest a method (RS configuration item, command-line/configuration option, etc.) to either specify a node that can handle all replication needs or just globally override the algorithm so it always preferse primary as a sync source. |
| Comments |
| Comment by Aristarkh Zagorodnikov [ 31/Mar/13 ] |
|
Thank you for the clarification. |
| Comment by Tad Marshall [ 31/Mar/13 ] |
|
Yes, this option ( |
| Comment by Aristarkh Zagorodnikov [ 31/Mar/13 ] |
|
Yeah, looks so: https://jira.mongodb.org/browse/DOCS-1301. |
| Comment by Aristarkh Zagorodnikov [ 31/Mar/13 ] |
|
It appears that it is supported only in 2.4 (maybe in 2.2.4 also, didn't check). Well, that's another reason to upgrade. |
| Comment by Aristarkh Zagorodnikov [ 31/Mar/13 ] |
|
That's what you get for being lazy with reading docs =) Thank you very much, Tad, this is exactly what I was looking for. |
| Comment by Tad Marshall [ 31/Mar/13 ] |
|
Have you looked at the chainingAllowed setting for replica set configuration?
|