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

choosing syncsource should compare against last fetched optime rather than last applied

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.0.5, 3.1.6
    • Affects Version/s: 3.0.4, 3.1.5
    • Component/s: Replication
    • None
    • Fully Compatible
    • RPL 6 07/17/15
    • 0

      This was not a problem until recently, as the producer thread would wait for all ops to be applied before looking for a new sync source (last fetched == last applied). However, to resolve a potential deadlock between the producer thread and applier thread, that wait was removed.

      As a result, a node could have ops in its buffer when it choose a new sync source, apply those ops, and then receive those recently applied ops from its sync source which would cause the node to rollback and fassert.

            Assignee:
            matt.dannenberg Matt Dannenberg
            Reporter:
            matt.dannenberg Matt Dannenberg
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: