Initial syncer needs to handle exception

XMLWordPrintableJSON

    • Fully Compatible
    • ALL
    • v4.2, v4.0
    • Repl 2020-03-09
    • 51
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      Whenever we have a completion guard active, we must set a result on the completion guard before we exit or the system will hit an invariant. In initial_syncer.cpp InitialSyncer::_truncateOplogAndDropReplicatedDatabases() we call out to the storage interface which can throw exceptions (uasserts) which escape the completion guard and cause the invariant. We should catch these and return an initial sync failure instead.

            Assignee:
            Lingzhi Deng
            Reporter:
            Matthew Russotto
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: