push
github
limbo: make txn_limbo_confirm nop during fencing Before this patch a synchronous transaction could be confirmed when user lowered `replication_synchro_quorum` while limbo is in the frozen state. It could lead to the next situation: 1) server1 loses a quorum of connections and its limbo goes into the frozen state. 2) The new elected master rollbacks a non-confirmed synchronous transaction. 3) On the old master we lower `replication_synchro_quorum` to 1. Our synchronous transaction is confirmed because our node can collect sufficient number of acks. As a result, we have inconsistent state in the replicaset because on the old master we have a confirmed transaction but on the new master we have a rolledbacked transaction. Now, we fix this issue by returning from the `txn_limbo_confirm` when `txn_limbo_is_frozen` is true. It can help us to make the `txn_limbo_confirm` - nop and not confirm synchronous transactions. Needed for tarantool#11574 NO_DOC=bugfix NO_CHANGELOG=<not released> (cherry picked from commit 51999396d)
69166 of 116565 branches covered (59.34%)
2 of 2 new or added lines in 1 file covered. (100.0%)
68 existing lines in 14 files now uncovered.103985 of 118745 relevant lines covered (87.57%)
1372849.78 hits per line