While enabling the tenant migration terminate primary suites, I ran into the following scenario:
1. ContinuousTenantMigration starts tenant migration X on donor primary
2. ContinuousStepdown terminates donor primary
3. Donor primary shuts down and interrupts migration X with ShutdownInProgress
4. New primary steps up and rebuilds TenantMigrationDonorService
5. New primary says tenant migration has completed because it was aborted due to ShutdownInProgress
6. ContinuousTenantMigration raises an error since this isn't an accepted abort reason.
If this is expected behavior on the donor, then the ContinuousTenantMigration hook should catch ShutdownInProgress and InterruptedAtShutdown donor abort errors.