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
next 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