This fix is not ideal, because it means the coordinator will send abort to all participants who vote abort after the first participant who votes abort.
Note, because abortTransaction is sent to
1. all participants who voted to commit before the vote abort was received
2. all participants whose vote was received after the vote abort
and single-shard transactions do not use a two-phase commit, this guarantees that the number of non-voted abort participants in sendAbort will be > 0.