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

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

    XMLWordPrintableJSON

Details

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

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: