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

tarantool / tarantool / 11626705003
86%
master: 88%

Build:
Build:
LAST BUILD BRANCH: skaplun/ci-bump-ubuntu-dist
DEFAULT BRANCH: master
Ran 01 Nov 2024 09:26AM 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

01 Nov 2024 08:37AM UTC coverage: 85.952% (-0.002%) from 85.954%
11626705003

push

github

locker
memtx: fix use-after-free on background index build

When building an index in background, we create on_rollback triggers for
tuples inserted concurrently. The problem here is on_rollback trigger
has independent from `index` and `memtx_ddl_state` lifetime - it can be
called after the index was build (and `memtx_ddl_state` is destroyed)
and even after the index was altered. So, in order to avoid
use-after-free in on_rollback trigger, let's drop all on_rollback
triggers when the DDL is over. It's OK because all owners of triggers
are already prepared, hence, in WAL or replication queue (since we
build indexes in background only without MVCC so the transactions cannot
yield), so if they are rolled back, the same will happen to the DDL.

In order to delete on_rollback triggers, we should collect them into a
list in `memtx_ddl_state`. On the other hand, when the DML statement is
over (committed or rolled back), we should delete its trigger from the
list to prevent use-after-free. That's why the commit adds the on_commit
trigger to background build process.

Closes #10620

NO_DOC=bugfix

(cherry picked from commit d8d82dba4)

63145 of 114379 branches covered (55.21%)

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

22 existing lines in 9 files now uncovered.

94000 of 109364 relevant lines covered (85.95%)

2623275.04 hits per line

Jobs
ID Job ID Ran Files Coverage
1 11626705003.1 01 Nov 2024 09:26AM UTC 0
85.95
GitHub Action Run
Source Files on build 11626705003
Detailed source file information is not available for this build.
  • Back to Repo
  • a4456c10 on github
  • Prev Build on release/2.11 (#11626641029)
  • Next Build on release/2.11 (#11630991432)
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