• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 23359411567
88%
master: 88%

Build:
Build:
LAST BUILD BRANCH: i12411
DEFAULT BRANCH: master
Ran 20 Mar 2026 07:46PM UTC
Jobs 1
Files 520
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Mar 2026 07:33PM UTC coverage: 87.601% (+0.007%) from 87.594%
23359411567

push

github

Gerold103
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

Uncovered Existing Lines

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
Jobs
ID Job ID Ran Files Coverage
1 23359411567.1 20 Mar 2026 07:46PM UTC 520
87.6
GitHub Action Run
Source Files on build 23359411567
  • Tree
  • List 520
  • Changed 26
  • Source Changed 0
  • Coverage Changed 26
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 3c0344ac on github
  • Prev Build on release/3.3 (#23264187695)
  • Next Build on release/3.3 (#23479323035)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc