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

makeOperationContext should not be called on the primaryOnlyService instance cleanup executor

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • 7.1.0-rc0
    • None
    • Sharding EMEA
    • Fully Compatible
    • ALL
    • Sharding EMEA 2023-08-21
    • 10
    • 2

    Description

      Full explanation in attached BF.

      makeOperationContext calls registerOpCtx in the primary only service, which acquires the primary only service mutex.

      If this is called while holding the sharding ddl coordinator service mutex, the operation holding it needs to be interrupted on stepdown to prevent a deadlock. In the case of constructInstance, it is being called on the instance cleanup executor (which is not interrupted on stepdown) while holding the sharding ddl coordinator service mutex. This can lead to deadlock on stepdown.

      Attachments

        Activity

          People

            silvia.surroca@mongodb.com Silvia Surroca
            allison.easton@mongodb.com Allison Easton
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: