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

tarantool / tarantool / 39416650057
88%
master: 88%

Build:
Build:
LAST BUILD BRANCH: mvcc-stats-ddl
DEFAULT BRANCH: master
Ran 20 Oct 2026 12:04PM UTC
Jobs 1
Files 525
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 Oct 2026 11:40AM UTC coverage: 87.767% (-0.02%) from 87.788%
39416650057

push

github

sergepetrenko
box: skip NOPs in transaction iterators

A NOP statement changes no data but preserves its position in the WAL.
It can be produced e.g. by canceling a write in a before_replace trigger
or by skipping a duplicate-key conflict with replication_skip_conflict.

However, transaction iterators (like in `on_commit/rollback` e.g.) did
not handle NOPs properly. Iterating over one worked while a canceled
write still had its space (like in local NOPification with
`before_replace`). But a NOP read from WAL or replication has no space,
so accessing it through an iterator crashed. Dispatching triggers for
several spaces could crash for the same reason, even if their callbacks
never used the iterator.

Let's skip NOPs completely in transaction iterators. This changes
behavior for the NOPs during local NOPification, as triggers did see the
NOP row before the patch as `N, nil, nil, K` and now they won't. The
compat is not introduced, since it's doubtful anyone relied on NOPs to
be visible, since in almost all cases it just caused crash.

Closes #13163

NO_DOC=bugfix

(cherry picked from commit a1a0e05a1)

71416 of 119900 branches covered (59.56%)

8 of 8 new or added lines in 2 files covered. (100.0%)

74 existing lines in 14 files now uncovered.

106966 of 121875 relevant lines covered (87.77%)

1381025.89 hits per line

Coverage Regressions

Lines Coverage ∆ File
23
91.7
0.02% src/box/space.c
16
90.71
-0.49% src/box/box.cc
8
60.42
-3.55% src/lib/core/fio.c
6
78.03
-1.52% src/main.cc
4
93.43
-0.36% src/box/xrow_update_field.c
3
92.59
-0.09% src/box/vinyl.c
3
88.21
-0.19% src/box/vy_run.c
2
95.13
-0.21% src/box/replication.cc
2
86.9
-0.29% src/lib/core/say.c
2
80.95
-9.52% src/lib/core/tt_sigaction.c
2
97.15
-0.1% src/lib/msgpuck/msgpuck.h
1
96.34
-0.01% src/box/relay.cc
1
85.98
0.0% src/box/xlog.c
1
93.76
0.0% src/lib/core/fiber.c
Jobs
ID Job ID Ran Files Coverage
1 39416650057.1 20 Oct 2026 12:05PM UTC 525
87.77
GitHub Action Run
Source Files on build 39416650057
  • Tree
  • List 525
  • Changed 26
  • Source Changed 0
  • Coverage Changed 26
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • e5c2c3fe on github
  • Prev Build on release/3.8 (#39411766327)
  • Next Build on release/3.8 (#39583013609)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc