From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp50.i.mail.ru (smtp50.i.mail.ru [94.100.177.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 3DB42469710 for ; Tue, 9 Jun 2020 15:20:42 +0300 (MSK) From: Serge Petrenko Date: Tue, 9 Jun 2020 15:20:12 +0300 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH 0/8] wait for lsn and confirm List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: v.shpilevoy@tarantool.org, sergos@tarantool.org, gorcunov@gmail.com Cc: tarantool-patches@dev.tarantool.org 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)