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

tarantool / tarantool / 18532720146
86%
master: 88%

Build:
Build:
LAST BUILD BRANCH: drop-nanoarrow
DEFAULT BRANCH: master
Ran 15 Oct 2025 03:04PM UTC
Jobs 1
Files 480
Run time 2min
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

15 Oct 2025 02:41PM UTC coverage: 86.091% (+0.002%) from 86.089%
18532720146

push

github

sergepetrenko
limbo: allow current term CONFIRMs to be nopified

Previously the limbo would treat receipt of CONFIRM for an
already confirmed LSN in the current term as an error. But
actually there seems to be no reason to do that.

Here is a usecase. A replica starts joining a master. The master
has some txns in the limbo. The relay would flush the txns to the
journal and get its vclock. This is going to be the snapshot
vclock of the replica.

Then the relay waits for the txns to get committed. CONFIRMs for
those txns are going to get written after the replica's vclock.

Next, the relay would save the current confirmed LSN and send it
+ the data to the replica.

Logically the replica looks good. It has some valid fully
confirmed snapshot and a correctly saved limbo checkpoint with the
right confirmed LSN.

But now the replica would start catching up and would download the
CONFIRM from the master which it actually already knows. It was in
the initial limbo checkpoint sent to this replica. It is sent
"again" because the replica's vclock doesn't include this CONFIRM
yet.

It seems logical that the replica must simply nopify such CONFIRM.
So lets do just that. Similar logic seems to be applicable to
ROLLBACK. Except that it was already idempotent in the current
term. And in the older terms its effect is already applied by
PROMOTE of the current term.

Now those strict filters only remain for PROMOTE/DEMOTE commands.

Closes #11180
Closes #11790

NO_DOC=bugfix
NO_CHANGELOG=already written

(cherry picked from commit e454545e5)

63640 of 115116 branches covered (55.28%)

39 of 44 new or added lines in 2 files covered. (88.64%)

409 existing lines in 13 files now uncovered.

94623 of 109910 relevant lines covered (86.09%)

1896123.91 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
90.29
0.28% src/box/applier.cc
3
92.52
0.01% src/box/txn_limbo.c

Uncovered Existing Lines

Lines Coverage ∆ File
1
96.0
-4.0% src/lib/core/trigger.h
2
96.33
-0.39% src/box/relay.cc
2
86.39
0.0% src/box/vy_run.c
2
95.4
-2.3% src/histogram.c
4
91.91
-0.14% src/box/vinyl.c
4
93.63
-0.96% src/lib/swim/swim_io.c
5
95.0
1.02% src/box/journal.c
5
93.71
-0.83% src/box/replication.cc
28
89.63
0.19% src/box/memtx_engine.cc
33
92.71
-0.01% src/box/txn.c
44
92.52
0.01% src/box/txn_limbo.c
53
89.34
-0.24% src/box/wal.c
226
86.62
0.0% src/box/box.cc
Jobs
ID Job ID Ran Files Coverage
1 18532720146.1 15 Oct 2025 03:04PM UTC 480
86.09
GitHub Action Run
Source Files on build 18532720146
  • Tree
  • List 480
  • Changed 24
  • Source Changed 0
  • Coverage Changed 24
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • f456c12a on github
  • Prev Build on release/2.11 (#18524582078)
  • Next Build on release/2.11 (#18564819079)
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