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

Initial syncer needs to handle exception

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v4.2, v4.0
    • Sprint:
      Repl 2020-03-09
    • Linked BF Score:
      51

      Description

      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.

        Attachments

          Activity

            People

            Assignee:
            lingzhi.deng Lingzhi Deng
            Reporter:
            matthew.russotto Matthew Russotto
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: