|
Ran
|
Files
525
|
Run time
46s
|
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)
70710 of 118956 branches covered (59.44%)
106338 of 121269 relevant lines covered (87.69%)
1386359.81 hits per line
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|