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

tarantool / tarantool / 10737862372
86%
master: 88%

Build:
Build:
LAST BUILD BRANCH: ninarodicova/prepared_test
DEFAULT BRANCH: master
Ran 06 Sep 2024 12:21PM UTC
Jobs 1
Files 479
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

06 Sep 2024 11:51AM UTC coverage: 85.906% (+0.005%) from 85.901%
10737862372

push

github

locker
vinyl: handle error loading statement from disk during key lookup

`vy_page_stmt()` may fail (return NULL) if:
 - the statement is corrupted;
 - memory allocation for the statement fails;
 - the statement size exceeds `box.cfg.vinyl_max_tuple_size`.

If this happens `vy_page_find_key()` won't return an error. Instead,
it'll either point the caller to a wrong statement or claim that there's
no statement matching the key in this page. This may result in invalid
index selection results and, later on, a crash caused by inconsistencies
in the tuple cache. The issue was introduced by commit ac8ce0233a00
("vinyl: factor out function to lookup key in page").

All of the three cases are actually very unlikely to happen in
production:
 - If a statement stored in a run file is corrupted, we'll probably fail
   to load the whole page due to failed checksums and never even get to
   `vy_page_stmt()`.
 - Statements are allocated with `malloc()`, which doesn't normally
   fail (instead the whole process would be terminated by OOM) .
 - Users don't tend to lower the tuple size limit after restart.

Still, let's fix the issue by implementing proper error handling for
`vy_page_find_key()`.

Closes #10512

NO_DOC=bug fix

(cherry picked from commit 9dbaa6a9b)

63008 of 114253 branches covered (55.15%)

9 of 11 new or added lines in 1 file covered. (81.82%)

36 existing lines in 10 files now uncovered.

93900 of 109306 relevant lines covered (85.91%)

2455082.57 hits per line

Jobs
ID Job ID Ran Files Coverage
1 10737862372.1 06 Sep 2024 12:21PM UTC 0
85.91
GitHub Action Run
Source Files on build 10737862372
Detailed source file information is not available for this build.
  • Back to Repo
  • 69450ca7 on github
  • Prev Build on release/2.11 (#10633974382)
  • Next Build on release/2.11 (#10768990700)
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