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

Race between creating new opCtx and killing opCtx's before switching out the storage engine

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Blocker - P1
    • Resolution: Fixed
    • None
    • 5.3.0, 5.2.0-rc5
    • None
    • None
    • Fully Compatible
    • ALL
    • v5.2
    • Replication 2021-12-13, Replication 2021-12-27, Replication 2022-01-10, Replication 2022-01-24
    • 135

    Description

      We don't call onCreate with the client lock, so there's a period of time where there's a new opCtx that isn't enumerable by going through the client list. When we change the storage engine for FCBIS, we first kill all opCtxes by going through the client list. Since a new opCtx might not be on the list, it can survive and will still exist after we clear the storage engine. This means the opCtx could reference a null storage engine, resulting in a segfault.

      Attachments

        Activity

          People

            samy.lanka@mongodb.com Samyukta Lanka
            samy.lanka@mongodb.com Samyukta Lanka
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: