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

Investigate if we can run SyncSourceResolver only after OplogFetcher returns TooStaleToSyncFromSource

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Replication
    • Repl 2024-06-10, Repl 2024-06-24, Repl 2024-07-08

      Currently, the SyncSourceResolver finds a valid sync source and does three remote calls on that node. The first is to make sure that we aren't too stale to sync from the node, and the other two are related to rollback-via-refetch. After EMRC=false is removed from the code base, we should be able to remove those last two remote calls, so that the only check in SyncSourceResolver is the "too stale" check.

      In SERVER-28068, we added a check to the OplogFetcher to ensure that we are not too stale to sync from our sync source. As a result, we should investigate to see if we no longer need to run the SyncSourceResolver before the OplogFetcher, and we can run it only if the OplogFetcher returns that it is too stale.

      Making this change will allow us to avoid running SyncSourceResolver on every loop of bgsync, improving both complexity and performance.

            Assignee:
            kishore.devireddy@mongodb.com Kishore Devireddy
            Reporter:
            xuerui.fa@mongodb.com Xuerui Fa
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: