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

Replication should pause during fsync+lock

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Gone away
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Concurrency, Replication
    • Labels:

      Description

      While a secondary is locked, replication attempts to get the write lock on the secondary. This causes future readers to block, since the write lock takes precedence, but readers ought to be able to proceed since the writer won't be unblocked soon.

      A potential workaround: Instead of blocking on the lock, fsync+lock on a secondary could simply pause the replication process (probably pausing the oplog reader and not take out the lock) and after writes have finished then flush all database files to get a consistent file system state.

      More likely workaround: wait for SERVER-1423 to be completed, in which case we'll get the correct behavior for free: readers will proceed even while writers are queued waiting for fsyncUnlock.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-repl Backlog - Replication Team
              Reporter:
              redbeard0531 Mathias Stearn
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: