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

Persist the result of the doCompactOperation in the Pre-6.1-compatible compaction coordinator

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • 6.0.0
    • 6.0.2, 6.1.0-rc0
    • None
    • None
    • Fully Compatible
    • ALL
    • v6.0
    • Security 2022-08-22

    Description

      The return value of the doCompactOperation is assigned to the member variable _response, which is in-memory state that is not persisted by the coordinator. Since this variable is being assigned in the penultimate kCompactStructuredEncryptionData phase of _runImpl, it is possible to lose this data if a stepdown occurs while in the middle of the final phase. And when the new primary resumes, it'll have an invalid _response value, which may cause an invariant failure.

      NOTE: this ticket was created separately from SERVER-67796 to address the same issue in 6.0. Instead of a BACKPORT of SERVER-67796, a standalone ticket is needed since the fix to this issue in 6.1 is not compatible with 6.0, and an alternate fix is needed to resolve this invariant issue.

       

      Attachments

        Issue Links

          Activity

            People

              erwin.pe@mongodb.com Erwin Pe
              erwin.pe@mongodb.com Erwin Pe
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: