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

tarantool / tarantool / 13385696761
87%
master: 88%

Build:
Build:
LAST BUILD BRANCH: gh-10737
DEFAULT BRANCH: master
Ran 18 Feb 2025 08:13AM UTC
Jobs 1
Files 514
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

18 Feb 2025 07:47AM UTC coverage: 87.313% (+0.002%) from 87.311%
13385696761

push

github

locker
vinyl: take into account deferred DELETEs when creating cache chains

Each cache chain stores the max LSN among all DELETE statements that are
known to fall in the chain. This LSN is required so that an older read
view can ignore the chain, otherwise it could skip tuples deleted after
the read view was created (see the previous commit).

The problem is, apart from regular DELETE statements, there may be so
called "deferred" ones. Deferred DELETE statements aren't written to
secondary indexes immediately on commit - this is done later, when
the primary index is compacted. If we don't find the corresponding
full tuple in the primary index by a partial tuple key fetched from
a secondary index, we skip it and create a cache chain leaping over
it so that we don't read it again on the next scan. We don't take
into account the deferred DELETE LSN in this case, as a result,
we face the same problem we fixed in the previous commit for regular
DELETEs.

To avoid that, let's keep track of the max LSN among all skipped
statements and use it for the cache chain. Note, we have to patch
vy_point_lookup() so that it can keep a DELETE statement instead of
returning NULL - we need it to extract its LSN for the cache. This
changes the stats a bit hence the vinyl/deferred_delete test update.

Closes #11079

NO_DOC=bug fix

(cherry picked from commit d31bd73d6)

68783 of 122083 branches covered (56.34%)

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

72 existing lines in 16 files now uncovered.

101459 of 116201 relevant lines covered (87.31%)

2237150.48 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
90.51
-0.63% src/box/engine.c
1
94.74
-1.75% src/box/engine.h
1
89.05
-0.08% src/box/vy_log.c
1
91.23
0.2% src/box/vy_scheduler.c
1
84.34
0.08% src/box/xlog.c
1
96.55
-1.15% src/histogram.c
1
80.0
-2.05% src/lib/core/clock.c
1
95.24
-1.59% src/lib/small/include/small/quota.h
2
85.06
-0.32% src/lib/core/say.c
2
95.45
-4.55% src/lib/json/json.h
3
94.68
-1.6% src/box/vy_range.c
4
92.02
-0.03% src/box/vinyl.c
4
96.65
-0.41% src/lib/msgpuck/msgpuck.h
15
91.86
-2.35% src/box/memtx_space.c
15
89.5
0.02% src/box/vy_lsm.c
19
95.03
0.41% src/box/vy_cache.c
Jobs
ID Job ID Ran Files Coverage
1 13385696761.1 18 Feb 2025 08:13AM UTC 514
87.31
GitHub Action Run
Source Files on build 13385696761
  • Tree
  • List 514
  • Changed 426
  • Source Changed 0
  • Coverage Changed 36
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 87552f4f on github
  • Prev Build on release/3.2 (#13372903974)
  • Next Build on release/3.2 (#13393489490)
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