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

DonorAbortMigrationCmd may leak a tenant migration

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Service Arch
    • ALL
    • v5.1
    • Server Serverless 2021-10-11

      The implementation of DonorAbortMigrationCmd does not record the fact that a migration has been aborted in the event that it is unable to lookup an existing migration when the command is received. There is a chance (albeit quite rare) that the donor receives an abort command before the migration it intends to abort is started, in which case the donor will report an unknown migration and then proceed to run the full migration that was presumed aborted. The solution is to durably record that the migration is in an aborted state, even if there is no existing known migration.

      As an addendum to this work, we should consider updating the PrimaryOnlyService documentation to mention that the lookup method should only be used strictly to observe a service but not interact with it in any way. Instead users should prefer getOrCreate to ensure that some instance (and backing state) always exists.

            Assignee:
            backlog-server-servicearch [DO NOT USE] Backlog - Service Architecture
            Reporter:
            matt.broadstone@mongodb.com Matt Broadstone
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: