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

Allow a failed changelog write in movePrimary's cleanupOnError to silently fail.

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Backport Requested:
      v4.0
    • Sprint:
      Sharding 2019-01-28
    • Linked BF Score:
      45

      Description

      The given contract for changelog writes is that these writes are "best-effort," implying that we should not assert on their success. This case in particular is problematic because it's inside a scopedGuard. When an exception is not caught from inside a scopedGuard, it causes std::terminate to be called.

      This ticket is to simply change the call from logChangeChecked to logChange, and then remove the uassertStatusOK.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              blake.oler Blake Oler
              Reporter:
              blake.oler Blake Oler
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: