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

tarantool / tarantool / 16992254682

15 Aug 2025 02:34PM UTC coverage: 87.591% (+0.01%) from 87.578%
16992254682

push

github

locker
box: fix key corruption when pagination by tuple is used

Function `iterator_pos_set` works completely incorrectly when tuple
is passed to the option `after`.

Firstly, before extracting position, we call `ibuf:consume()` for
the memory allocated before position (this method is actually ASAN
poisoning) - that's not correct since consumed memory contains query key
that will be used later. Let's remove this call.

Secondly, new allocation on ibuf can lead to its reallocation, so
pointers to old allocations can be invalidated. Let's set the pointers
to the key after all allocations are done, just like in `index:quantile()`.

What's about performance, `perf/lua/box_select.lua` shows no degradation.

Closes #11221
Closes #11648

NO_DOC=bugfix

70864 of 124753 branches covered (56.8%)

104072 of 118816 relevant lines covered (87.59%)

1370745.9 hits per line

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

93.96
/src/box/vy_write_iterator.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