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

tarantool / tarantool / 18379466613

09 Oct 2025 02:21PM UTC coverage: 87.575% (+0.01%) from 87.561%
18379466613

push

github

sergepetrenko
salad: reserve block before bps_tree_insert_first_elem

The commit 51c56d9b3319 ("salad: reserve extents for matras_touch on BPS
tree operations") already made the tree self-sufficient - reserved
blocks in garbage and extents for `matras_touch` calls prior to insertion
and deletion. However, it didn't account for the addition of the first
element to the tree, which creates the root leaf - this could also trigger
`matras_touch` in `bps_tree_garbage_pop`.

However, it turns out there is no need to touch blocks before taking them
out of the garbage. There is an invariant that blocks in the garbage are
definitely not used by any read views. Although from the point of view of
the matras, they require copying and could potentially have been needed by
these read views. Let's just remove this `matras_touch` from
`bps_tree_garbage_pop`. Also let's reserve a block in the garbage before
calling `bps_tree_insert_first_elem` to bring the tree even closer to
self-sufficiency.

Closes #11788

NO_DOC=bugfix

(cherry picked from commit 52b3d4b91)

70527 of 123835 branches covered (56.95%)

5 of 5 new or added lines in 1 file covered. (100.0%)

21 existing lines in 14 files now uncovered.

103921 of 118665 relevant lines covered (87.58%)

1379589.5 hits per line

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

94.22
/src/lua/fiber.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