From: Vladimir Davydov <vdavydov.dev@gmail.com> To: kostja@tarantool.org Cc: tarantool-patches@freelists.org Subject: [PATCH 00/12] vinyl: prepare read iterator for index rebuild Date: Sun, 15 Apr 2018 22:55:13 +0300 [thread overview] Message-ID: <cover.1523820298.git.vdavydov.dev@gmail.com> (raw) 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 -- 2.11.0
next reply other threads:[~2018-04-15 19:55 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-15 19:55 Vladimir Davydov [this message] 2018-04-15 19:55 ` [PATCH 01/12] vinyl: rename vy_stmt_history to vy_history Vladimir Davydov 2018-04-15 19:55 ` [PATCH 02/12] vinyl: factor out vy_history_apply from vy_point_lookup_apply_history Vladimir Davydov 2018-05-14 18:19 ` [tarantool-patches] " Vladislav Shpilevoy 2018-04-15 19:55 ` [PATCH 03/12] vinyl: add vy_history_append_stmt helper Vladimir Davydov 2018-04-15 19:55 ` [PATCH 04/12] vinyl: zap iterator_src_type enum Vladimir Davydov 2018-04-15 19:55 ` [PATCH 05/12] vinyl: encapsulate key history with struct Vladimir Davydov 2018-04-15 19:55 ` [PATCH 06/12] vinyl: refine vy_history_cleanup Vladimir Davydov 2018-04-15 19:55 ` [PATCH 07/12] vinyl: move vy_history to its own source file Vladimir Davydov 2018-04-15 19:55 ` [PATCH 08/12] vinyl: use mempool for vy_history_node allocations Vladimir Davydov 2018-04-15 19:55 ` [PATCH 09/12] vinyl: consolidate skip optimization checks in read iterator Vladimir Davydov 2018-05-14 18:25 ` [tarantool-patches] " Vladislav Shpilevoy 2018-05-15 15:00 ` Vladimir Davydov 2018-04-15 19:55 ` [PATCH 10/12] vinyl: refactor vy_read_iterator_next Vladimir Davydov 2018-04-15 19:55 ` [PATCH 11/12] vinyl: make read iterator always return newest tuple version Vladimir Davydov 2018-04-15 19:55 ` [PATCH 12/12] vinyl: zap vy_read_iterator::curr_stmt Vladimir Davydov 2018-05-04 18:05 ` [tarantool-patches] Re: [PATCH 00/12] vinyl: prepare read iterator for index rebuild Vladislav Shpilevoy
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=cover.1523820298.git.vdavydov.dev@gmail.com \ --to=vdavydov.dev@gmail.com \ --cc=kostja@tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='Re: [PATCH 00/12] vinyl: prepare read iterator for index rebuild' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox