Project 'picodata/tarantool' was moved to 'core/tarantool'. Please update any links and bookmarks that may still have the old path.
mvcc: fix reverse tree iterators gap tracking
Apparently, the current implementation of `tree_iterator_start_raw` is buggy for reverse iterators: instead of tracking gaps for successors of keys, it tracks gaps for tuples shifted by one to the left of the successor: reorder the code of `tree_iterator_start_raw` to get the successor tuple prior to shifting done for reverse iterators and simplify the implementation to make it more straightforward and thus comprehensible. Closes #7073 Closes #7113 NO_DOC=bugfix Co-authored-by:Alexander Lyapunov <alyapunov@tarantool.org> (cherry picked from commit 07516193)
Showing
- changelogs/unreleased/gh-7113-rev-tree-iters-gap-tracking.md 5 additions, 0 deletionschangelogs/unreleased/gh-7113-rev-tree-iters-gap-tracking.md
- src/box/memtx_tree.cc 30 additions, 41 deletionssrc/box/memtx_tree.cc
- test/box-luatest/gh_7113_rev_tree_iters_gap_tracking_test.lua 136 additions, 0 deletions.../box-luatest/gh_7113_rev_tree_iters_gap_tracking_test.lua
Loading
Please register or sign in to comment