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

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Blocker - P1 Blocker - P1
    • 5.3.0, 5.2.0-rc5
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • v5.2
    • Replication 2021-12-13, Replication 2021-12-27, Replication 2022-01-10, Replication 2022-01-24
    • 135

      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.

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

              Created:
              Updated:
              Resolved: