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

tarantool / tarantool / 23154065131
88%

Build:
DEFAULT BRANCH: master
Ran 16 Mar 2026 04:40PM 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

16 Mar 2026 04:21PM UTC coverage: 87.671% (+0.003%) from 87.668%
23154065131

push

github

locker
box: make tuple format registry thread-local

In order to be able to create tuples in application threads, we need to
make the tuple registry thread-local. To achieve that, we make all
related global variables thread-local and add some debug checks ensuring
that a format is used only from the thread that created that.

There are two subsystems in Tarantool that rely upon the tuple format
registry being the same in all threads. The first one is Vinyl: it
references space formats by pointer in writer threads. To make it
compatible with thread-local formats, we patch Vinyl to create a
thread-local copy of the space format for each dump/compaction task.
Note that we can't just create a simple tuple format from the key
definition because we still have to check tuple fields while applying
updates. So we pass the space definition via the dump/compaction task
object.

The second subsystem that needs to be patched is the memtx tuple sorter
executed at recovery completion to build secondary indexes. We fix it
by inheriting the tuple format table from the main thread in each sorter
thread. A thread inheriting a tuple format table may look up tuple
formats by id but it may not create, destroy, reference, or unreference
tuple formats. In particular, it means that it may not create or destroy
tuples. Basically, it's useful only for tuple comparison.

Closes #12210

NO_DOC=internal
NO_TEST=already covered
NO_CHANGELOG=internal

70505 of 118675 branches covered (59.41%)

88 of 95 new or added lines in 10 files covered. (92.63%)

42 existing lines in 17 files now uncovered.

106027 of 120938 relevant lines covered (87.67%)

1352169.47 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
92.29
0.08% src/box/vy_scheduler.c

Coverage Regressions

Lines Coverage ∆ File
15
91.88
-1.88% src/box/memtx_space.c
4
81.82
-12.12% src/lua/minifio.c
3
93.43
-0.58% src/box/xrow_update_field.c
2
87.01
0.08% src/box/vy_stmt.c
2
85.73
-0.24% src/box/xlog.c
2
96.3
-3.7% src/lib/core/backtrace.c
2
93.04
0.01% src/lib/core/fiber.c
2
95.45
-4.55% src/lib/json/json.h
2
97.15
-0.1% src/lib/msgpuck/msgpuck.h
1
88.96
-0.61% src/box/engine.c
1
96.88
-1.56% src/box/engine.h
1
95.0
-0.1% src/box/replication.cc
1
92.7
0.13% src/box/vinyl.c
1
90.14
-0.08% src/box/vy_log.c
1
92.29
0.08% src/box/vy_scheduler.c
1
96.55
-1.15% src/lib/core/histogram.c
1
91.68
0.0% src/lib/swim/swim.c
Jobs
ID Job ID Ran Files Coverage
1 23154065131.1 16 Mar 2026 04:40PM UTC 526
87.67
GitHub Action Run
Source Files on build 23154065131
  • Tree
  • List 526
  • Changed 36
  • Source Changed 0
  • Coverage Changed 36
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 8c3a20d7 on github
  • Prev Build on master (#23143289563)
  • Next Build on master (#23166372234)
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