|
Ran
|
Jobs
1
|
Files
520
|
Run time
2min
|
Badge
README BADGES
|
push
github
limbo: encapsulate limbo promotion logic Promotion logic of the limbo was scattered across the following places quite messy: 1. box/raft which must invoke box_promote_qsync(). 2. box/box's box_promote() had to check terms, collect acks, trigger the low-level promotion request. 3. box/txn_limbo's txn_limbo_req_promote() did the actual final write + commit. While the code is still imperfect, it is quite clear, that box.cc must not be digging so deeply into internals of the limbo. This whole logic now is moved into the limbo's internal code and exposed as one simple function call. Which does one thing - makes sure the limbo ownership is caught up with Raft's state machine. This in turn also allows to entirely hide the selection of promotion LSN. It will be necessary in the future, when synchronous PROMOTE will be implemented, and its commit LSN logic will be relatively complicated and very internal. As a bonus alongside the code just got quite simpler. Part of #8095 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring (cherry picked from commit 364c9c6be)
70157 of 118077 branches covered (59.42%)
68 of 71 new or added lines in 2 files covered. (95.77%)
262 existing lines in 19 files now uncovered.105508 of 120479 relevant lines covered (87.57%)
1385829.86 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 3 |
93.37 |
0.27% | src/box/txn_limbo.c |
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 159 |
90.65 |
-0.08% | src/box/box.cc |
| 22 |
93.37 |
0.27% | src/box/txn_limbo.c |
| 22 |
95.09 |
-0.04% | src/box/txn_limbo_queue.c |
| 9 |
92.95 |
-0.07% | src/lib/core/fiber.c |
| 8 |
60.42 |
-5.56% | src/lib/core/fio.c |
| 5 |
87.96 |
-0.34% | src/box/vy_run.c |
| 5 |
93.43 |
-0.99% | src/box/xrow_update_field.c |
| 4 |
94.67 |
0.0% | src/lib/core/fiber.h |
| 4 |
93.31 |
-1.27% | src/lib/swim/swim_io.c |
| 4 |
22.64 |
-0.08% | src/lib/uri/uri_parser.c |
| 4 |
74.38 |
-0.99% | src/main.cc |
| 3 |
91.27 |
-0.31% | src/box/vy_scheduler.c |
| 2 |
92.52 |
0.04% | src/box/vinyl.c |
| 2 |
88.72 |
-0.3% | src/box/vy_lsm.c |
| 2 |
94.78 |
-0.42% | src/box/vy_read_iterator.c |
| 2 |
85.81 |
-0.08% | src/box/xlog.c |
| 2 |
89.72 |
0.02% | src/box/xrow.c |
| 2 |
95.4 |
-2.3% | src/lib/core/histogram.c |
| 1 |
87.93 |
-1.54% | src/box/xlog.h |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 25873532400.1 | 520 |
87.57 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|