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

tarantool / tarantool / 24242171750

10 Apr 2026 12:08PM UTC coverage: 87.679% (+0.01%) from 87.666%
24242171750

push

github

locker
iproto: route call requests to application threads

Now, if a function is exported with `box.iproto.export()` on any thread
(tx or app), IPROTO threads will route `IPROTO_CALL` requests with
unspecified target thread id only to those threads where this function
was exported. Requests to call a function that haven't been exported on
any thread are always routed to the tx thread.

The implementation is trivial: `box.iproto.export()` now sends a message
to each IPROTO thread that instructs it to add the exported function
name to the thread-local hash table; the IPROTO request handler checks
the hash table and if it finds the function in there, it choses the
target thread randomly among all serving threads where this function
was exported. Note that we have to take into account the fact that
`box.iproto.export()` may be called before `box.cfg()`, when IPROTO is
unavailable yet. In this case we postpone function registration in
IPROTO until `box.cfg()` is completed.

Closes #12312

NO_DOC=unreleased
NO_CHANGELOG=unreleased

70656 of 118927 branches covered (59.41%)

106298 of 121235 relevant lines covered (87.68%)

1354811.1 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.56
/src/box/lua/init.c


Build SHA Not Found

The commit SHA "c6cf7a051168b6fdcb7c43e26c0b07ed73f3a874 " was not found in your repository, so the file cannot be loaded. This may be because you posted from a local development environment, or your CI created an ephemeral commit.

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