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

tarantool / tarantool / 37949096675
88%

Build:
DEFAULT BRANCH: master
Ran 09 Oct 2026 03:20PM UTC
Jobs 1
Files 528
Run time 3min
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

09 Oct 2026 03:05PM UTC coverage: 87.945% (+0.04%) from 87.907%
37949096675

push

github

locker
box: move threads module out of experimental namespace

Follow-up #12207

@TarantoolBot document
Title: Document application threads

Application threads first appeared in Tarantool 3.7 as an experimental
feature. In Tarantool 3.9 it was moved out of the experimental namespace
and is now considered stable. The new feature allows application code
to use additional threads for offloading work off the main thread.
Like the main thread, each application thread runs an independent event
loop and a Lua interpreter and has most Tarantool built-in modules
available. However, usage of box features in application threads is
limited: it's impossible to directly write to the database and reads are
only possible via a read view.

To enable application threads, add the top-level section `threads` with
the sub-section `groups` to the configuration file. For example, to
create two application thread groups, `http` with one thread and `app`
with four threads, use the following config:

```yaml
threads:
  groups:
    - name: http
      size: 1
    - name: app
      size: 4
```

One can also configure application threads via the legacy `box.cfg`,
but it's possible to create only one thread group named `app`:

```lua
box.cfg{app_threads = 4}
```

The thread group `tx` with one thread is always created implicitly.
It can be used for calling the main thread from other threads, as
described below.

For interaction with application threads the `threads` Lua module was
introduced. The new module has the following functions:

 * `threads.export(func_name, func)`: exports a local Lua function so
   that it can be called with `threads.call()` from other threads.
 * `threads.call(group_name, func_name, args, opts)`: calls a function
   on a thread group. The function must be exported.
 * `threads.eval(group_name, expr, args, opts)`: executes a Lua
   expression on a thread group.
 * `threads.info()`: returns information about configured thread groups
   and the current thread (it... (continued)

72446 of 121314 branches covered (59.72%)

7 of 7 new or added lines in 2 files covered. (100.0%)

23 existing lines in 10 files now uncovered.

108810 of 123725 relevant lines covered (87.95%)

1399343.64 hits per line

Coverage Regressions

Lines Coverage ∆ File
9
88.14
-7.63% src/box/vy_regulator.c
3
92.45
-0.3% src/box/vy_scheduler.c
3
94.11
0.01% src/lib/core/fiber.c
2
91.2
0.43% src/box/box.cc
1
92.71
0.0% src/box/vinyl.c
1
86.09
0.16% src/box/xlog.c
1
96.99
0.1% src/lib/msgpuck/msgpuck.h
1
96.23
-0.05% src/lib/salad/bps_tree.h
1
92.07
-0.11% src/lib/swim/swim.c
1
22.64
-0.02% src/lib/uri/uri_parser.c
Jobs
ID Job ID Ran Files Coverage
1 37949096675.1 09 Oct 2026 03:20PM UTC 528
87.95
GitHub Action Run
Source Files on build 37949096675
  • Tree
  • List 528
  • Changed 33
  • Source Changed 0
  • Coverage Changed 33
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 5858c08d on github
  • Prev Build on master (#37915311274)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc