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

tarantool / tarantool / 13385585577
88%

Build:
DEFAULT BRANCH: master
Ran 18 Feb 2025 07:58AM UTC
Jobs 1
Files 518
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

18 Feb 2025 07:42AM UTC coverage: 87.406% (+0.02%) from 87.391%
13385585577

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

69784 of 123347 branches covered (56.58%)

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

60 existing lines in 16 files now uncovered.

102905 of 117732 relevant lines covered (87.41%)

2488179.79 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
88.55
-0.6% src/box/engine.c
1
95.31
-1.56% src/box/engine.h
1
89.05
-0.08% src/box/vy_log.c
1
95.74
-0.53% src/box/vy_range.c
1
91.23
-0.1% src/box/vy_scheduler.c
1
80.0
-2.05% src/lib/core/clock.c
1
90.67
-1.33% src/lib/core/iostream.c
1
90.38
-1.77% src/lib/core/trigger.cc
1
96.85
-0.1% src/lib/msgpuck/msgpuck.h
2
92.92
-0.21% src/lib/core/fiber.c
3
90.78
-0.03% src/box/box.cc
3
92.3
0.06% src/box/vinyl.c
3
93.87
-0.58% src/box/xrow_update_field.c
6
95.19
-1.22% src/box/vy_read_iterator.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 13385585577.1 18 Feb 2025 07:58AM UTC 518
87.41
GitHub Action Run
Source Files on build 13385585577
  • Tree
  • List 518
  • Changed 426
  • Source Changed 0
  • Coverage Changed 37
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • d31bd73d on github
  • Prev Build on master (#13372851315)
  • Next Build on master (#13392389283)
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