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

FCV upgrade to 5.0 can fail in presence of concurrent collection drop

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL

      Description

      With featureFlagShardingFullDDLSupportTimestampedVersion enabled, the FCV upgrade process can fail upon the following sequence of events:
      1. Shards enter phase1 of the FCV update. (Meaning they will still use the legacy DDL paths)
      2. The configsvr reads the current sharded collections, and performs the phase1 of the metadata patchup.
      2. A collection is dropped. The legacy path first deletes the chunks, but it has not yet deleted the config.collections document.
      3. The configsvr, as part of the setFCV procedure, tells shards to refresh that collection. The shards will try to refresh their catalog cache, but it will fail with ConflictingOperationInProgress (because the config.collections document still exists, but no chunk was found).

      This could be solved by either catching the ConflictingOperationInProgress error, or by telling the shards to refresh after they have entered phase2 of the FCV (because on the new DDL path, dropCollection first deletes the config.collections document, and later the chunks.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jordi.serra-torrens Jordi Serra Torrens
              Reporter:
              jordi.serra-torrens Jordi Serra Torrens
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: