• Julien Muchembled's avatar
    master: fix tpc_finish possibly trying to kill too many nodes after client-storage failures · 82eea0cd
    Julien Muchembled authored
    When concurrent transactions fail with different storages (e.g. only network
    issues between C1-S2 and C2-S1), in such a way that each transaction can be
    committed but not both (or the cluster would be non-operational), and if the
    first transaction is aborted (between tpc_vote and tpc_finish), then the second
    wrongly failed with INCOMPLETE_TRANSACTION.
    
    And if both transactions could be committed (e.g. more than 1 replica),
    some nodes would be disconnected for nothing.
    82eea0cd
transactions.py 15.1 KB