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 0/4] Introduce VY_LOG_PREPARE_LSM vylog record
Date: Tue, 27 Mar 2018 18:02:59 +0300	[thread overview]
Message-ID: <cover.1522162296.git.vdavydov.dev@gmail.com> (raw)

In order to implement ALTER for vinyl spaces, we need to log index
creation before WAL write so that we can keep track of run files
created during ALTER. This patch set introduces a new vylog record
type, VY_LOG_PREPARE_LSM, for this purpose.

Patch 1 of the series adds a new method to index vtab, abort_create,
which is needed to mark prepared index as dropped in case ALTER fails.
Patch 2 is trivial refactoring in vylog code, which simplifies further
development. Patch 3 fixes a bug in vylog. Finally, patch 4 introduces
the new record type.

https://github.com/tarantool/tarantool/tree/vy-log-ddl-before-wal-write

Vladimir Davydov (4):
  index: add abort_create virtual method
  vinyl: use rlist for iterating over objects recovered from vylog
  vinyl: fix discrepancy between vy_log.tx_size and actual tx len
  vinyl: log new index before WAL write on DDL

 src/box/alter.cc                 |  18 ++
 src/box/index.cc                 |   5 +
 src/box/index.h                  |  12 ++
 src/box/memtx_bitset.c           |   1 +
 src/box/memtx_hash.c             |   1 +
 src/box/memtx_rtree.c            |   1 +
 src/box/memtx_tree.c             |   1 +
 src/box/sysview_index.c          |   1 +
 src/box/vinyl.c                  |  83 ++++++--
 src/box/vy_log.c                 | 421 +++++++++++++++++++++++++++------------
 src/box/vy_log.h                 |  40 +++-
 src/box/vy_lsm.c                 |  47 ++++-
 test/engine/truncate.result      |  87 --------
 test/engine/truncate.test.lua    |  48 -----
 test/vinyl/errinj_vylog.result   | 161 ++++++++-------
 test/vinyl/errinj_vylog.test.lua | 111 +++++------
 test/vinyl/layout.result         |   4 +-
 17 files changed, 612 insertions(+), 430 deletions(-)

-- 
2.11.0

             reply	other threads:[~2018-03-27 15:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-27 15:02 Vladimir Davydov [this message]
2018-03-27 15:03 ` [PATCH 1/4] index: add abort_create virtual method Vladimir Davydov
2018-03-27 15:03 ` [PATCH 2/4] vinyl: use rlist for iterating over objects recovered from vylog Vladimir Davydov
2018-03-27 15:03 ` [PATCH 3/4] vinyl: fix discrepancy between vy_log.tx_size and actual tx len Vladimir Davydov
2018-03-27 15:03 ` [PATCH 4/4] vinyl: log new index before WAL write on DDL Vladimir Davydov

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.1522162296.git.vdavydov.dev@gmail.com \
    --to=vdavydov.dev@gmail.com \
    --cc=kostja@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --subject='Re: [PATCH 0/4] Introduce VY_LOG_PREPARE_LSM vylog record' \
    /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