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

tarantool / tarantool / 25871794029

14 May 2026 04:22PM UTC coverage: 87.599% (+0.02%) from 87.582%
25871794029

push

github

Gerold103
limbo: encapsulate limbo promotion logic

Promotion logic of the limbo was scattered across the following
places quite messy:
1. box/raft which must invoke box_promote_qsync().
2. box/box's box_promote() had to check terms, collect acks,
  trigger the low-level promotion request.
3. box/txn_limbo's txn_limbo_req_promote() did the actual final
  write + commit.

While the code is still imperfect, it is quite clear, that box.cc
must not be digging so deeply into internals of the limbo.

This whole logic now is moved into the limbo's internal code and
exposed as one simple function call. Which does one thing - makes
sure the limbo ownership is caught up with Raft's state machine.

This in turn also allows to entirely hide the selection of
promotion LSN. It will be necessary in the future, when
synchronous PROMOTE will be implemented, and its commit LSN logic
will be relatively complicated and very internal.

As a bonus alongside the code just got quite simpler.

Part of #8095

NO_DOC=refactoring
NO_TEST=refactoring
NO_CHANGELOG=refactoring

(cherry picked from commit 364c9c6be)

68836 of 116367 branches covered (59.15%)

66 of 71 new or added lines in 2 files covered. (92.96%)

248 existing lines in 21 files now uncovered.

103587 of 118251 relevant lines covered (87.6%)

1651835.24 hits per line

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

97.28
/src/box/lua/net_box.c


Source Not Available

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