[Tarantool-patches] [PATCH v2 00/19] Sync replication
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Tue Jun 30 02:15:09 MSK 2020
Synchronous replication draft patchset. From the previous version
changed almost everything, not much sense to describe it all here.
Branch: http://github.com/tarantool/tarantool/tree/gh-4842-sync-replication
Issue: https://github.com/tarantool/tarantool/issues/4842
Leonid Vasiliev (1):
replication: add support of qsync to the snapshot machinery
Serge Petrenko (11):
xrow: introduce CONFIRM and ROLLBACK entries
txn: introduce various reasons for txn rollback
replication: write and read CONFIRM entries
txn_limbo: add timeout when waiting for acks.
txn_limbo: add ROLLBACK processing
box: rework local_recovery to use async txn_commit
replication: support ROLLBACK and CONFIRM during recovery
replication: add test for synchro CONFIRM/ROLLBACK
txn_limbo: add diag_set in txn_limbo_wait_confirm
replication: delay initial join until confirmation
replication: only send confirmed data during final join
Vladislav Shpilevoy (7):
replication: introduce space.is_sync option
replication: introduce replication_synchro_* cfg options
txn: add TXN_WAIT_ACK flag
replication: make sync transactions wait quorum
applier: remove writer_cond
applier: send heartbeat not only on commit, but on any write
replication: block async transactions when not empty limbo
src/box/CMakeLists.txt | 1 +
src/box/alter.cc | 5 +
src/box/applier.cc | 125 ++++-
src/box/applier.h | 2 -
src/box/box.cc | 148 +++++-
src/box/box.h | 2 +
src/box/errcode.h | 4 +
src/box/gc.c | 12 +
src/box/iproto_constants.h | 12 +
src/box/lua/cfg.cc | 18 +
src/box/lua/load_cfg.lua | 10 +
src/box/lua/net_box.lua | 2 +
src/box/lua/schema.lua | 3 +
src/box/lua/space.cc | 5 +
src/box/relay.cc | 22 +-
src/box/replication.cc | 2 +
src/box/replication.h | 12 +
src/box/space_def.c | 2 +
src/box/space_def.h | 6 +
src/box/txn.c | 155 +++++-
src/box/txn.h | 50 ++
src/box/txn_limbo.c | 458 ++++++++++++++++++
src/box/txn_limbo.h | 248 ++++++++++
src/box/xrow.c | 106 ++++
src/box/xrow.h | 46 ++
test/app-tap/init_script.result | 2 +
test/box/admin.result | 4 +
test/box/cfg.result | 8 +
test/box/error.result | 4 +
.../sync_replication_sanity.result | 331 +++++++++++++
.../sync_replication_sanity.test.lua | 133 +++++
test/unit/CMakeLists.txt | 3 +
test/unit/snap_quorum_delay.cc | 254 ++++++++++
test/unit/snap_quorum_delay.result | 12 +
34 files changed, 2178 insertions(+), 29 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
create mode 100644 test/unit/snap_quorum_delay.cc
create mode 100644 test/unit/snap_quorum_delay.result
--
2.21.1 (Apple Git-122.3)
More information about the Tarantool-patches
mailing list