From: Serge Petrenko <sergepetrenko@tarantool.org>
To: v.shpilevoy@tarantool.org, sergos@tarantool.org, gorcunov@gmail.com
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH 0/8] wait for lsn and confirm
Date: Tue, 9 Jun 2020 15:20:12 +0300 [thread overview]
Message-ID: <cover.1591701695.git.sergepetrenko@tarantool.org> (raw)
Issues:
https://github.com/tarantool/tarantool/issues/4844
https://github.com/tarantool/tarantool/issues/4845
https://github.com/tarantool/tarantool/issues/4847
Branch:
https://github.com/tarantool/tarantool/tree/sp/gh-4847-wal-confirm-msg
This patchset contains Vlad's patches introducing txn_limbo, is_sync space flag,
synchronous transactions waiting for replica lsn and my patches regarding
writing CONFIRM entry to WAL and waiting for it to appear on replicas.
Local recovery with respect to CONFIRM is not yet implemented, just like
ROLLBACK message and its processing.
Serge Petrenko (4):
txn_limbo: follow-up fixes
txn_limbo: fix instance id assignment
xrow: introduce CONFIRM entry
replication: write and read CONFIRM entries
Vladislav Shpilevoy (4):
replication: introduce space.is_sync option
replication: introduce replication_sync_quorum cfg
txn: add TXN_WAIT_ACK flag
replication: make sync transactions wait quorum
src/box/CMakeLists.txt | 1 +
src/box/applier.cc | 81 +++++-
src/box/box.cc | 32 +++
src/box/box.h | 1 +
src/box/errcode.h | 2 +
src/box/iproto_constants.h | 3 +
src/box/lua/cfg.cc | 9 +
src/box/lua/load_cfg.lua | 5 +
src/box/lua/schema.lua | 2 +
src/box/lua/space.cc | 5 +
src/box/relay.cc | 14 +-
src/box/replication.cc | 1 +
src/box/replication.h | 6 +
src/box/space_def.c | 2 +
src/box/space_def.h | 6 +
src/box/txn.c | 111 ++++++++-
src/box/txn.h | 30 +++
src/box/txn_limbo.c | 232 ++++++++++++++++++
src/box/txn_limbo.h | 174 +++++++++++++
src/box/xrow.c | 74 ++++++
src/box/xrow.h | 23 ++
test/app-tap/init_script.result | 1 +
test/box/admin.result | 2 +
test/box/cfg.result | 4 +
test/box/error.result | 2 +
.../sync_replication_sanity.result | 39 +++
.../sync_replication_sanity.test.lua | 16 ++
27 files changed, 869 insertions(+), 9 deletions(-)
create mode 100644 src/box/txn_limbo.c
create mode 100644 src/box/txn_limbo.h
create mode 100644 test/replication/sync_replication_sanity.result
create mode 100644 test/replication/sync_replication_sanity.test.lua
--
2.24.3 (Apple Git-128)
next reply other threads:[~2020-06-09 12:20 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-09 12:20 Serge Petrenko [this message]
2020-06-09 12:20 ` [Tarantool-patches] [PATCH 1/8] replication: introduce space.is_sync option Serge Petrenko
2020-06-10 23:51 ` Vladislav Shpilevoy
2020-06-18 22:27 ` Leonid Vasiliev
2020-06-21 16:24 ` Vladislav Shpilevoy
2020-06-09 12:20 ` [Tarantool-patches] [PATCH 2/8] replication: introduce replication_sync_quorum cfg Serge Petrenko
2020-06-10 23:51 ` Vladislav Shpilevoy
2020-06-15 23:05 ` Vladislav Shpilevoy
2020-06-18 22:54 ` Leonid Vasiliev
2020-06-19 17:45 ` Serge Petrenko
2020-06-21 16:25 ` Vladislav Shpilevoy
2020-06-09 12:20 ` [Tarantool-patches] [PATCH 3/8] txn: add TXN_WAIT_ACK flag Serge Petrenko
2020-06-18 23:12 ` Leonid Vasiliev
2020-06-21 16:25 ` Vladislav Shpilevoy
2020-06-22 9:44 ` Serge Petrenko
2020-06-23 22:13 ` Vladislav Shpilevoy
2020-06-09 12:20 ` [Tarantool-patches] [PATCH 4/8] replication: make sync transactions wait quorum Serge Petrenko
2020-06-10 23:51 ` Vladislav Shpilevoy
2020-06-11 14:57 ` Vladislav Shpilevoy
2020-06-15 23:05 ` Vladislav Shpilevoy
2020-06-19 12:39 ` Leonid Vasiliev
2020-06-25 21:48 ` Vladislav Shpilevoy
2020-06-09 12:20 ` [Tarantool-patches] [PATCH 5/8] txn_limbo: follow-up fixes Serge Petrenko
2020-06-10 23:51 ` Vladislav Shpilevoy
2020-06-11 8:46 ` Serge Petrenko
2020-06-11 13:01 ` Vladislav Shpilevoy
2020-06-09 12:20 ` [Tarantool-patches] [PATCH 6/8] txn_limbo: fix instance id assignment Serge Petrenko
2020-06-10 23:51 ` Vladislav Shpilevoy
2020-06-09 12:20 ` [Tarantool-patches] [PATCH 7/8] xrow: introduce CONFIRM entry Serge Petrenko
2020-06-19 15:18 ` Leonid Vasiliev
2020-06-22 10:14 ` Serge Petrenko
2020-06-23 8:33 ` Serge Petrenko
2020-06-09 12:20 ` [Tarantool-patches] [PATCH 8/8] replication: write and read CONFIRM entries Serge Petrenko
2020-06-10 23:51 ` Vladislav Shpilevoy
2020-06-11 8:56 ` Serge Petrenko
2020-06-11 13:04 ` Vladislav Shpilevoy
2020-06-11 14:57 ` Vladislav Shpilevoy
2020-06-15 23:05 ` Vladislav Shpilevoy
2020-06-18 11:32 ` Leonid Vasiliev
2020-06-18 21:49 ` Vladislav Shpilevoy
2020-06-19 17:48 ` Serge Petrenko
2020-06-19 17:50 ` Serge Petrenko
2020-06-23 8:35 ` Serge Petrenko
2020-06-20 15:06 ` Leonid Vasiliev
2020-06-22 10:34 ` Serge Petrenko
2020-06-23 8:34 ` Serge Petrenko
2020-06-25 22:04 ` Vladislav Shpilevoy
2020-06-25 22:31 ` Vladislav Shpilevoy
2020-06-26 10:58 ` Serge Petrenko
2020-06-09 12:53 ` [Tarantool-patches] [PATCH 0/2] A few fixes for building Cyrill Gorcunov
2020-06-09 12:53 ` [Tarantool-patches] [PATCH 1/2] box/applier: fix typo Cyrill Gorcunov
2020-06-10 9:18 ` Sergey Ostanevich
2020-06-09 12:53 ` [Tarantool-patches] [PATCH 2/2] box: use tnt_raise for quorum check Cyrill Gorcunov
2020-06-10 9:17 ` Sergey Ostanevich
2020-06-10 10:45 ` Serge Petrenko
2020-06-22 21:51 ` [Tarantool-patches] [PATCH 0/8] wait for lsn and confirm 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.1591701695.git.sergepetrenko@tarantool.org \
--to=sergepetrenko@tarantool.org \
--cc=gorcunov@gmail.com \
--cc=sergos@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--cc=v.shpilevoy@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH 0/8] wait for lsn and confirm' \
/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