Details
Description
If the migration commit to the configsvr fails after exhausting retries (e.g. donor did not receive an answer, but the commit message might be stuck somewhere in a router), the donor must not yet tell the recipient to exit its critical section. This is because it is still possible that the commit request arrives to the configsvr and succeeds.
Instead, if the commit command invocation does not succeed, we should just run migration recovery so that the recipient critical section will be released after ensureChunkVersionIsGreaterThan has been executed, which guarantees that the migration will no longer be able to commit.