|
Ran
|
Jobs
1
|
Files
519
|
Run time
2min
|
Badge
README BADGES
|
push
github
memtx: abort gaps after rollback This commit fixes a Memtx-MVCC related bug that could lead to dirty gap read in secondary indexes after rollback. One REPLACE transaction (prepared but not yet committed) creates a temporary situation where another concurrent transaction cannot see a specific key in a secondary index (a "read gap"). When the first transaction then rolls back, the previous (replaced) tuple becomes visible again, and the "read gap" becomes irrelevant (the key becomes visible once more). In this case, the second transaction, which read the gap, should be aborted. However, it successfully commits, leading to a non-serializable schedule. This commit fixes the issue by adding the necessary handling during rollback. Now, all such irrelevant gaps are aborted. Closes #11802 NO_DOC=bugfix (cherry picked from commit 2a9a463e5)
69118 of 116507 branches covered (59.33%)
9 of 9 new or added lines in 1 file covered. (100.0%)
65 existing lines in 16 files now uncovered.103977 of 118722 relevant lines covered (87.58%)
1404850.55 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
95.72 |
-0.12% | src/box/replication.cc |
| 1 |
80.74 |
-0.41% | src/box/tuple_bloom.c |
| 1 |
84.24 |
-0.11% | src/box/xlog.c |
| 1 |
90.38 |
-1.92% | src/lib/core/trigger.cc |
| 1 |
96.15 |
-0.05% | src/lib/salad/bps_tree.h |
| 1 |
91.68 |
0.0% | src/lib/swim/swim.c |
| 2 |
94.25 |
-0.29% | src/box/memtx_space.c |
| 2 |
98.31 |
0.0% | src/box/txn.h |
| 2 |
92.54 |
-0.04% | src/box/vinyl.c |
| 2 |
94.23 |
-0.42% | src/box/xrow_update_field.c |
| 2 |
95.45 |
-4.55% | src/lib/json/json.h |
| 2 |
97.36 |
0.1% | src/lib/msgpuck/msgpuck.h |
| 2 |
94.22 |
-0.39% | src/lua/fiber.c |
| 3 |
92.84 |
-0.3% | src/lib/core/fiber.c |
| 4 |
94.15 |
-2.13% | src/box/vy_range.c |
| 38 |
97.42 |
0.01% | src/box/memtx_tx.c |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 18975815726.1 | 519 |
87.58 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|