Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-9192

Replication topology configuration

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Works as Designed
    • Affects Version/s: 2.2.3
    • Fix Version/s: None
    • Component/s: Replication
    • Labels:
      None
    • Environment:
      Irrelevant
    • Backwards Compatibility:
      Fully Compatible

      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.
      Since building robust applications involves writes being done with w:majority (to minimize general data loss and rollbacks), a method to reduce "visible" replication latency is certainly a must.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              onyxmaster Aristarkh Zagorodnikov
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: