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

CreateDatabase coordinator may not serialize with DropDatabase on upgrade

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • ALL

      SERVER-96828 introduced a bug when the DropDatabase coordinator ran on a mixed binary version scenario.

      This was solved by SERVER-97830 preventing the insertion of a document in kConfigDropPendingDBsNamespace whenever the sharded cluster is being upgraded or downgraded.

      SERVER-97830 introduced a new problem: a CreateDatabase operation may not properly serialize with a DropDatabase when there is an upgrade in progress.

      The following sequence of events exemplifies the issue:

      1. An upgrade starts.
      2. A DropDatabase operation starts and it doesn't insert a document in kConfigDropPendingDBsNamespace because the CreateDatabase feature flag is not enabled yet
        color: Color value is invalid

        .

      3. The upgrade process finishes, therefore the CreateDatabase feature flag is enabled. The DropDatabase operation hasn't finished yet.
      4. A CreateDatabase operation starts instantiating the new coordinator. It checks if there is a concurrent drop database
        color: Color value is invalid

        , the check passes although there is a concurrent DropDatabase coordinator.

            Assignee:
            Unassigned Unassigned
            Reporter:
            silvia.surroca@mongodb.com Silvia Surroca
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: