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

Do periodic replicated writes every 10 seconds while idle (for maxStalenessMS)

    • Type: Icon: New Feature New Feature
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.3.12
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
    • Fully Compatible
    • Sharding 18 (08/05/16), Sharding 2016-08-29, Sharding 2016-09-19
    • 0

      For the upcoming maxStalenessMS read preference it is required that periodically there needs to be a replicated write - so it would have a new oplog entry to move forward the OpTime reported to clients.

      These no-op 'n' writes should only be done on the primary when no other replicated writes have been done in the timeout period.

      A side-effect of this will be that an idle replica set will no longer be idle with respect to writes, since it will internally force a write periodically. This new behavior (which also exists in master-slave replication) will show up in things like the calculation of "replication lag" never exceeding a second or two on caught up nodes – previously a lack of writes for a few minutes would immediately show a lag of that period as the new write comes in until it is replicated.

            misha.tyulenev@mongodb.com Misha Tyulenev
            jesse@mongodb.com A. Jesse Jiryu Davis
            0 Vote for this issue
            15 Start watching this issue