Tarantool development patches archive
 help / color / mirror / Atom feed
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

             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