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

tarantool / tarantool / 11626660962
88%

Build:
DEFAULT BRANCH: master
Ran 01 Nov 2024 08:56AM UTC
Jobs 1
Files 516
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:36AM UTC coverage: 87.28% (-0.004%) from 87.284%
11626660962

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

69214 of 123021 branches covered (56.26%)

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

42 existing lines in 18 files now uncovered.

102010 of 116877 relevant lines covered (87.28%)

2592062.4 hits per line

Jobs
ID Job ID Ran Files Coverage
1 11626660962.1 01 Nov 2024 08:56AM UTC 0
87.28
GitHub Action Run
Source Files on build 11626660962
Detailed source file information is not available for this build.
  • Back to Repo
  • d8d82dba on github
  • Prev Build on master (#11610450672)
  • Next Build on master (#11630463599)
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