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

tarantool / tarantool / 13416885935
86%
master: 88%

Build:
Build:
LAST BUILD BRANCH: gerold103/gh-8095-synchro-promote-part1
DEFAULT BRANCH: master
Ran 19 Feb 2025 04:52PM UTC
Jobs 1
Files 479
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

19 Feb 2025 03:58PM UTC coverage: 86.038% (-0.006%) from 86.044%
13416885935

push

github

locker
vinyl: don't create cache chain over unconfirmed deferred DELETE

While scanning a non-unique secondary index of a vinyl space, we skip
a tuple if there's no match for it in the primary index because it means
that the tuple was overwritten by a newer statement but the secondary
index DELETE was deferred until compaction. We still create a cache
chain link in this case so that we skip the overwritten tuple when
we scan the secondary index next time. We do it even if the overwriting
statement is unconfirmed (not yet written to WAL), which is actually
incorrect. The problem is that if the overwriting statement is rolled
back on a WAL write error, the chain created in the secondary index
cache won't be broken because nothing was actually written to the
secondary index (DELETE was deferred) therefore there's nothing to
roll back therefore there's nothing to invalidate the cache by.
As a result, the tuple that the user attempted to delete but failed
due to a WAL error will become inaccessible via the secondary index
because of the stale cache chain.

Fix this issue by disabling creation of a cache chain link in case
the read iterator skipped an unconfirmed deferred DELETE statement.

Closes #11140

NO_DOC=bug fix

(cherry picked from commit 74f45f41c)

63448 of 114806 branches covered (55.27%)

8 of 8 new or added lines in 1 file covered. (100.0%)

28 existing lines in 14 files now uncovered.

94404 of 109724 relevant lines covered (86.04%)

1888360.88 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
89.49
-0.1% src/box/memtx_engine.cc
1
92.14
0.0% src/box/vinyl.c
1
94.25
-0.15% src/box/vy_read_iterator.c
1
86.52
0.2% src/box/vy_run.c
1
87.5
-1.79% src/box/xlog.h
1
93.33
-0.11% src/lib/core/fiber.c
1
95.24
-1.59% src/lib/small/include/small/quota.h
2
87.17
-0.04% src/box/box.cc
2
96.31
-0.39% src/box/relay.cc
2
82.82
-0.2% src/box/xlog.c
3
93.62
1.06% src/box/vy_range.c
4
90.01
-0.31% src/box/applier.cc
4
91.85
-0.67% src/box/txn_limbo.c
4
93.31
-1.27% src/lib/swim/swim_io.c
Jobs
ID Job ID Ran Files Coverage
1 13416885935.1 19 Feb 2025 04:52PM UTC 479
86.04
GitHub Action Run
Source Files on build 13416885935
  • Tree
  • List 479
  • Changed 391
  • Source Changed 0
  • Coverage Changed 17
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 9cc3a90e on github
  • Prev Build on release/2.11 (#13399235540)
  • Next Build on release/2.11 (#13459374128)
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