[tarantool-patches] Re: [PATCH 00/12] vinyl: prepare read iterator for index rebuild

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Fri May 4 21:05:23 MSK 2018


Hello. The whole patchset LGTM except one memory leak. Kostja
already pushed it, so I fixed it on the branch: vy-fix-memleak.

On 15/04/2018 22:55, Vladimir Davydov wrote:
> To be able to use read iterator for building secondary indexes in vinyl,
> we need it to guarantee that the returned tuple is always the newest
> version, which is currently not true. Fix that.
> 
> https://github.com/tarantool/tarantool/commits/vy-prep-read-iterator-for-alter
> 
> Vladimir Davydov (12):
>    vinyl: rename vy_stmt_history to vy_history
>    vinyl: factor out vy_history_apply from vy_point_lookup_apply_history
>    vinyl: add vy_history_append_stmt helper
>    vinyl: zap iterator_src_type enum
>    vinyl: encapsulate key history with struct
>    vinyl: refine vy_history_cleanup
>    vinyl: move vy_history to its own source file
>    vinyl: use mempool for vy_history_node allocations
>    vinyl: consolidate skip optimization checks in read iterator
>    vinyl: refactor vy_read_iterator_next
>    vinyl: make read iterator always return newest tuple version
>    vinyl: zap vy_read_iterator::curr_stmt
> 
>   src/box/CMakeLists.txt     |   1 +
>   src/box/vy_cache.c         |  51 ++---
>   src/box/vy_cache.h         |  31 +--
>   src/box/vy_history.c       | 115 ++++++++++
>   src/box/vy_history.h       | 165 +++++++++++++
>   src/box/vy_lsm.c           |   5 +
>   src/box/vy_lsm.h           |   4 +-
>   src/box/vy_mem.c           |  93 +++-----
>   src/box/vy_mem.h           |  33 +--
>   src/box/vy_point_lookup.c  | 228 +++---------------
>   src/box/vy_read_iterator.c | 560 +++++++++++++++++++--------------------------
>   src/box/vy_read_iterator.h |  11 +-
>   src/box/vy_run.c           |  68 ++++--
>   src/box/vy_run.h           |  23 +-
>   src/box/vy_tx.c            |  55 +++--
>   src/box/vy_tx.h            |  29 ++-
>   test/unit/CMakeLists.txt   |   3 +
>   test/unit/vy_cache.c       |  16 +-
>   test/unit/vy_mem.c         |  24 +-
>   test/vinyl/upsert.result   |   8 +-
>   test/vinyl/upsert.test.lua |   6 +-
>   21 files changed, 788 insertions(+), 741 deletions(-)
>   create mode 100644 src/box/vy_history.c
>   create mode 100644 src/box/vy_history.h
> 




More information about the Tarantool-patches mailing list