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

tarantool / tarantool / 9415620077
86%
master: 88%

Build:
Build:
LAST BUILD BRANCH: ninarodicova/grants
DEFAULT BRANCH: master
Ran 07 Jun 2024 11:05AM 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

07 Jun 2024 10:30AM UTC coverage: 85.829% (+0.003%) from 85.826%
9415620077

push

github

locker
vinyl: fix crash in index drop if there is DML request reading from it

A DML request (insert, replace, update) can yield while reading from
the disk in order to check unique constraints. In the meantime the index
can be dropped. The DML request can't crash in this case thanks to
commit d3e1236956515 ("vinyl: abort affected transactions when space is
removed from cache"), but the DDL operation can because:
 - It unreferences the index in `alter_space_commit`, which may result
   in dropping the LSM tree with `vy_lsm_delete`.
 - `vy_lsm_delete` may yield in `vy_range_tree_free_cb` while waiting
   for disk readers to complete.
 - Yielding in commit triggers isn't allowed (crashes).

We already fixed a similar issue when `index.get` crashed if raced
with index drop, see commit 75f03a50df4a ("vinyl: fix crash if space is
dropped while space.get is reading from it"). Let's fix this issue in
the same way - by taking a reference to the LSM tree while checking
unique constraints. To do that it's enough to move `vy_lsm_ref` from
`vinyl_index_get` to `vy_get`.

Also, let's replace `vy_slice_wait_pinned` with an assertion checking
that the slice pin count is 0 in `vy_range_tree_free_cb` because
`vy_lsm_delete` must not yield.

Closes #10094

NO_DOC=bug fix

(cherry picked from commit bde28f0fa)

62654 of 113878 branches covered (55.02%)

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

21 existing lines in 12 files now uncovered.

93542 of 108986 relevant lines covered (85.83%)

2427874.32 hits per line

Jobs
ID Job ID Ran Files Coverage
1 9415620077.1 07 Jun 2024 11:05AM UTC 0
85.83
GitHub Action Run
Source Files on build 9415620077
Detailed source file information is not available for this build.
  • Back to Repo
  • f7f01196 on github
  • Prev Build on release/2.11 (#9414507441)
  • Next Build on release/2.11 (#9417103298)
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