|
Ran
|
Jobs
1
|
Files
520
|
Run time
1min
|
Badge
README BADGES
|
push
github
relay: track when last WAL row was sent The relay's intention was to mark the heartbeats with timestamps as soon as no WAL rows are sent since the last heartbeat. First heartbeat after a last WAL row always has timestamp 0. It is done so the heartbeats wouldn't inject too new real time timestamps into the stream, making the lag on replica jump up and down. On subscribe one heartbeat is forced to be sent after processing the journal entries which piled up since the replica connected last time. It was added in order for the applier to immediately transition its state from 'sync' to 'follow' if it is up to date. This step was needed because the last sent WAL row could have a super old timestamp (if master is mostly idle). Forcing a heartbeat after that tells the applier that the master actually has no more rows to send and the lag is good. This seems to get broken when Raft messages entered the picture. Raft messages are rows which are sent using relay_send(), but they have no WAL timestamp (because they aren't from WAL). And yet they bump last_row_time, which was used by the heartbeats to understand if they are sent between WAL rows or not. The patch fixes it by moving the tracking of WAL rows sending into a separate member of relay, not affected by "in-memory" messages such as the ones from Raft. Closes #12025 NO_DOC=bugfix (cherry picked from commit a6a265ad1)
68806 of 116371 branches covered (59.13%)
3 of 3 new or added lines in 1 file covered. (100.0%)
41 existing lines in 12 files now uncovered.103522 of 118174 relevant lines covered (87.6%)
1647787.88 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
92.34 |
0.0% | src/box/vinyl.c |
| 1 |
84.45 |
0.08% | src/box/xlog.c |
| 1 |
93.12 |
0.1% | src/lib/core/fiber.c |
| 1 |
91.68 |
-0.11% | src/lib/swim/swim.c |
| 2 |
86.27 |
-0.48% | src/box/vy_stmt.c |
| 2 |
82.22 |
-4.44% | src/lib/core/latch.h |
| 2 |
85.71 |
-9.52% | src/lib/core/tt_sigaction.c |
| 2 |
94.22 |
-0.39% | src/lua/fiber.c |
| 3 |
94.15 |
-0.53% | src/box/vy_range.c |
| 3 |
22.64 |
-0.06% | src/lib/uri/uri_parser.c |
| 4 |
94.25 |
-0.78% | src/box/xrow_update_field.c |
| 19 |
90.76 |
-0.53% | src/box/box.cc |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 23359411567.1 | 520 |
87.6 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|