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

tarantool / tarantool / 16992302163

15 Aug 2025 02:35PM UTC coverage: 87.547% (+0.01%) from 87.535%
16992302163

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

(cherry picked from commit 7426f5912)

70253 of 124087 branches covered (56.62%)

103270 of 117960 relevant lines covered (87.55%)

1631440.99 hits per line

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

93.95
/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