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

tarantool / tarantool / 10467747373 / 1
88%
master: 88%

Build:
DEFAULT BRANCH: master
Ran 20 Aug 2024 08:22AM UTC
Files 514
Run time 21s
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

20 Aug 2024 08:08AM UTC coverage: 87.184% (+0.01%) from 87.173%
10467747373.1

push

github

locker
box: drop iproto connections before client fibers on shutdown

Currently we have such order of shutting down: client fibers, then
iproto subsystem and then fiber pool (details can be found in e513d4c).
The problem is iproto produces new fibers in `tx_fiber_pool` when
processing new requests so when Tarantool is shutting down client
fiber, a new one can appear and it won't be handled. Moreover, there is
no point in handling such fibers because one can appear even after all
client fibers are finished.

Also, we cannot just stop `tx_fiber_pool` so that it won't produce new
workers while shutting down client fibers because it's also needed for
vinyl. But since only iproto can produce new client (non-system)
long-living fibers when shutting down, let's simply drop all iproto
connections before finishing client fibers. From user's point of view,
one thing will be changed - he will receive `Peer closed` error message
instead of `fiber is cancelled` for hanging requests. I don't think it's
bad because the new message better reflects that Tarantool is being
stopped and that the error is not retriable.

By the way, we already disallow accepting new iproto connections right
before shutdown (`iproto_on_shutdown_f`) but the problem is connected
client can keep sending requests. And that's why our replication tests
became flaky - if shutdown happens between JOIN and SUBSCRIBE, fiber
pool produces new client fiber after we cancelled all such fibers.

Follow-up #9722
Closes #10313

NO_CHANGELOG=internal
NO_DOC=internal

68294 of 121565 branches covered (56.18%)

100928 of 115764 relevant lines covered (87.18%)

2398179.99 hits per line

Source Files on job 10467747373.1
  • Tree
  • List 0
  • Changed 405
  • Source Changed 0
  • Coverage Changed 32
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 10467747373
  • 507ba20d on github
  • Prev Job for on master (#10459505389.1)
  • Next Job for on master (#10487106310.1)
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