In BFG-872835 it could be observed the following sequence:
- a chunk migration reaches the commit phase
- the migration coordinator issues a request for removing the related range deletion document
- the recipient steps down before deleting the document - supposedly returning an error
- sendToRecipient() should detect the remote error and raise an exception to interrupt the migration coordinator - but nothing happens.
The root cause of this is considered to lie in the use of Shard::CommandResponse::getEffectiveStatus() for processing remote errors - for write operation requests getStatusFromWriteCommandReply() is generally preferred.