-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
-
ALL
-
v6.0
-
Server Serverless 2022-03-21, Server Serverless 2022-04-04, Server Serverless 2022-04-18, Server Serverless 2022-05-02, Server Serverless 2022-05-16, Server Serverless 2022-05-30, Server Serverless 2022-06-13
-
175
-
3
The donorAbortMigration command works by cancelling a cancellation source that is checked via token in a tenant migration donor's run() future chain. The donor incorrectly uses a token derived from that source when performing its write to enter the committed state and when waiting for that write to majority commit, so a well timed donorAbortMigration can trigger an exception after the commit decision is locally written, leading the donor to write an abort decision, which triggers an invariant in the op observer that processes the abort write, because the commit decision cannot be made twice.