|
Ran
|
Jobs
1
|
Files
518
|
Run time
2min
|
Badge
README BADGES
|
push
github
box: introduce "waiting_for_own_rows" mode Before this, there was a special mechanism that determined whether an instance had received all of its rows that it lost during a restart - to do this, it simply checked that it was currently in the orphan status. This approach can be called a heuristic, which, unfortunately, does not work in specific cases. Instead, it would be much more "correct" for an instance to look at the maximum lsn among the replicas in the replica set for the component corresponding to that instance. This will work in all the same cases where the previous approach worked, but in many more. But it is worth noting that this approach does not guarantee that one day an instance will not unexpectedly receive some of its transactions from the past that have already been overwritten by a new transaction. Now if an instance realizes that it hasn't received all of its transactions yet, it goes into "waiting_for_own_rows" mode. This mode is another ro-reason similar to "orphan" mode. While the instance is in "waiting_for_own_rows" mode it is read-only. Closes #10592 @TarantoolBot document Title: new `box.info.status` - "waiting_for_own_rows" Product: Tarantool Root document: https://www.tarantool.io/ru/doc/latest/reference/reference_lua/box_info/status/ The `waiting_for_own_rows` status can be relevant if a node that was once a master crashed and lost some of its xlogs for some reason (e.g. manually deleted by the user). In this case after rebooting, `box.info.status` will be equal to `waiting_for_own_rows`, which means that the instance knows that some of its transactions were lost from its xlogs and it is waiting for them to be received via replication. While instance status is `waiting_for_own_rows` it remains read-only. (cherry picked from commit 61cb5b5e3)
70156 of 124029 branches covered (56.56%)
56 of 58 new or added lines in 3 files covered. (96.55%)
190 existing lines in 16 files now uncovered.103184 of 117894 relevant lines covered (87.52%)
2137045.09 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 2 |
90.84 |
0.06% | src/box/box.cc |
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
90.51 |
-0.63% | src/box/engine.c |
| 1 |
94.74 |
-1.75% | src/box/engine.h |
| 1 |
93.66 |
-0.14% | src/box/txn_limbo.c |
| 1 |
90.14 |
-0.08% | src/box/vy_log.c |
| 1 |
95.74 |
-0.53% | src/box/vy_range.c |
| 1 |
84.26 |
-0.1% | src/box/xlog.c |
| 1 |
87.5 |
-1.59% | src/box/xlog.h |
| 1 |
63.97 |
3.13% | src/lib/core/fio.c |
| 2 |
95.05 |
-0.62% | src/box/raft.c |
| 2 |
92.42 |
0.0% | src/box/vinyl.c |
| 2 |
89.24 |
-0.12% | src/box/xrow.c |
| 2 |
85.01 |
-0.27% | src/lib/core/say.c |
| 2 |
97.26 |
0.1% | src/lib/msgpuck/msgpuck.h |
| 4 |
95.84 |
0.06% | src/box/replication.cc |
| 4 |
90.9 |
-0.41% | src/box/vy_scheduler.c |
| 164 |
90.84 |
0.06% | src/box/box.cc |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 16001858497.1 | 518 |
87.52 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|