Dynamically load initialSyncTransientErrorRetryPeriodSeconds after each initial sync retry

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Replication
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      This value is loaded once at boot. Even though the parameter is settable at runtime, it is not dynamically loaded and requires process reboot to pick up.

      The initial syncer:
      1. Sets up and loads the param initialSyncTransientErrorRetryPeriodSeconds
      2. Starts an initial sync attempt (which involves copying all collections and applying oplog)
      3. If the attempt fails, tries step 2 again, i.e. a new attempt.
      Therefore, not only does it not dynamically load the parameter in an existing initial sync, it seems like it also uses the same parameter for every initial sync attempt until the max number of attempts is exhausted, at which point we fassert.

      Also, a lazy alternative to dynamically loading the param is to make the param settable only at startup, so that at least it's clear that setting it at run time is too much work.

            Assignee:
            Unassigned
            Reporter:
            Matt Kneiser
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: