Failing secondaries will not cancel transaction and may thus block primary waiting for quorum
When secondaries fail an RPC call while the primary node is waiting for quorum on a transaction, then the primary node will be stuck waiting until the context gets cancelled. This is because mutator stream parameters ignore errors returned by secondaries without actually cancelling the transaciton even though we can know already that it is not possible to reach quorum anymore.
We should adapt the ErrHandler
for mutator stream parameters to cancel the transaction for every secondary that drops out because of an error.
Edited by Patrick Steinhardt