|
Ran
|
Jobs
1
|
Files
519
|
Run time
2min
|
Badge
README BADGES
|
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)
68791 of 116357 branches covered (59.12%)
2 of 2 new or added lines in 1 file covered. (100.0%)
36 existing lines in 8 files now uncovered.103508 of 118178 relevant lines covered (87.59%)
1609002.03 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
90.5 |
-0.07% | src/box/applier.cc |
| 2 |
91.29 |
0.09% | src/box/box.cc |
| 2 |
84.27 |
-0.19% | src/box/xlog.c |
| 2 |
89.34 |
-0.11% | src/box/xrow.c |
| 2 |
94.81 |
0.56% | src/box/xrow_update_field.c |
| 2 |
85.61 |
-0.72% | src/lib/core/coio.c |
| 3 |
92.81 |
-0.11% | src/lib/core/fiber.c |
| 22 |
94.41 |
0.0% | src/box/txn_limbo.c |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 19540325877.1 | 519 |
87.59 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|