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

tarantool / tarantool / 17244129231
88%
master: 88%

Build:
Build:
LAST BUILD BRANCH: fix-test-dir-for-gitlab-ci
DEFAULT BRANCH: master
Ran 26 Aug 2025 04:34PM UTC
Jobs 1
Files 519
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

26 Aug 2025 04:18PM UTC coverage: 87.567% (+0.03%) from 87.534%
17244129231

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

NO_DOC=bugfix
NO_CHANGELOG=already written

(cherry picked from commit e454545e5)

70118 of 123539 branches covered (56.76%)

42 of 44 new or added lines in 2 files covered. (95.45%)

434 existing lines in 21 files now uncovered.

103381 of 118059 relevant lines covered (87.57%)

1610404.23 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
90.5
-0.03% src/box/applier.cc

Uncovered Existing Lines

Lines Coverage ∆ File
1
90.5
-0.03% src/box/applier.cc
1
96.14
-0.18% src/box/relay.cc
1
98.29
0.0% src/box/txn.h
1
95.21
1.06% src/box/vy_range.c
1
84.24
0.0% src/box/xlog.c
1
93.22
0.29% src/lib/core/fiber.c
1
90.38
-1.77% src/lib/core/trigger.cc
2
98.06
-0.01% src/box/lua/info.c
2
86.27
-0.42% src/box/vy_stmt.c
2
94.23
0.74% src/box/xrow_update_field.c
3
92.42
-0.05% src/box/vinyl.c
3
22.64
-0.06% src/lib/uri/uri_parser.c
4
81.82
-12.12% src/lua/minifio.c
6
94.66
-1.23% src/box/vy_read_iterator.c
7
93.2
-1.75% src/box/journal.c
17
93.51
0.07% src/box/txn.c
26
92.13
-0.15% src/box/gc.c
39
90.71
-0.01% src/box/memtx_engine.cc
42
94.55
0.89% src/box/txn_limbo.c
55
89.48
-0.26% src/box/wal.c
219
91.25
0.48% src/box/box.cc
Jobs
ID Job ID Ran Files Coverage
1 17244129231.1 26 Aug 2025 04:34PM UTC 519
87.57
GitHub Action Run
Source Files on build 17244129231
  • Tree
  • List 519
  • Changed 35
  • Source Changed 0
  • Coverage Changed 35
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 0751741f on github
  • Prev Build on release/3.3 (#17219700591)
  • Next Build on release/3.3 (#17291469504)
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