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

tarantool / tarantool / 24243164933
88%

Build:
DEFAULT BRANCH: master
Ran 10 Apr 2026 12:51PM UTC
Jobs 1
Files 526
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

10 Apr 2026 12:34PM UTC coverage: 87.681% (+0.002%) from 87.679%
24243164933

push

github

locker
box: remove tuple dictionary from space definition

When we made the tuple format registry thread-local in commit
8c3a20d74a59a ("box: make tuple format registry thread-local"),
we assumed that it's safe to pass a space definition object to
another thread in order to create a thread-local copy of a tuple
format for a Vinyl dump/compaction task. Turns out it isn't true
because a space definition stores a reference to a tuple dictionary,
which is passed to `tuple_format_new()`, which increments its
reference counter, which is obviously not a thread-safe operation.

Actually, we don't really need to store a tuple dictionary in
a space definition because it's used only for rollback of a space
format update. Instead of storing the dictionary in a space definition,
we can store it in the DDL operation itself. This change makes
a space definition a trivial object, as it should be, safe to be
passed from one thread to another.

Note that this patch makes `space_def_new()` non-failing so it also
removes the code checking its return value.

The bug was found by Andrey Saranchin (@drewdzzz) with TSAN.

Follow-up #12210

NO_DOC=bug fix
NO_CHANGELOG=unreleased
NO_TEST=difficult to catch; should be checked by TSAN

70670 of 118923 branches covered (59.43%)

23 of 23 new or added lines in 4 files covered. (100.0%)

25 existing lines in 7 files now uncovered.

106287 of 121220 relevant lines covered (87.68%)

1353603.19 hits per line

Coverage Regressions

Lines Coverage ∆ File
16
91.02
-0.46% src/box/box.cc
3
85.86
-0.28% src/box/xlog.c
2
88.09
0.08% src/box/vy_run.c
1
96.32
-0.18% src/box/relay.cc
1
92.65
0.04% src/box/vinyl.c
1
90.38
-1.92% src/lib/core/trigger.cc
1
91.68
-0.11% src/lib/swim/swim.c
Jobs
ID Job ID Ran Files Coverage
1 24243164933.1 10 Apr 2026 12:51PM UTC 526
87.68
GitHub Action Run
Source Files on build 24243164933
  • Tree
  • List 526
  • Changed 27
  • Source Changed 0
  • Coverage Changed 27
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 4e27591f on github
  • Prev Build on master (#24242171750)
  • Next Build on master (#24342114681)
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