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

Ensure that tenant migration abortReason is recovered correctly on stepup recovery

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Sharding 2021-03-22

      Description

      • It is incorrect to use getStatusFromCommandResult() to parse the 'abortReason' BSONObj here since it doesn't contain an "ok" field so the call is expected to fail with CommandResultSchemaViolation, causing the migration stepup recovery to fail.
      • As described in SERVER-51345, the generated IDL code doesn't automatically take ownership of a passed-in BSONObj. The _stateDoc created on stepup recovery can hit this BSONElement assertion due to memory/scope issue involving 'abortReason' loaded from disk.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              cheahuychou.mao Cheahuychou Mao
              Reporter:
              cheahuychou.mao Cheahuychou Mao
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: