From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladimir Davydov Subject: [PATCH v2 0/4] Introduce replica local spaces Date: Mon, 9 Jul 2018 18:40:08 +0300 Message-Id: To: kostja@tarantool.org Cc: tarantool-patches@freelists.org List-ID: This patch introduces a new space option, group_id, which defines how a space is replicated. If it is 0 (default), the space is replicated throughout the cluster. If it is 1, the space is not replicated. For more information, see patch 4. https://github.com/tarantool/tarantool/issues/3443 https://github.com/tarantool/tarantool/commits/dv/gh-3443-replica-local-spaces v1: https://www.freelists.org/post/tarantool-patches/PATCH-06-Introduce-replica-local-spaces Changes in v2: - Use group_id space option instead of is_local flag, as this is more flexible and will allow us to implement fully-functional replication groups in future (Kostja). - Refactor code used for committing NOP requests (Kostja). - Rename space_opts::temporary to is_temporary (Kostja). - Add a comment to request_create_from_tuple (Kostja). - Remove merged patches from the patch set (patches 1-3 from v1). Vladimir Davydov (4): txn: do not require space id for nop requests xrow: make NOP requests bodiless Rename space_opts::temporary to is_temporary Introduce replica local spaces src/box/alter.cc | 15 ++- src/box/box.cc | 24 ++++- src/box/errcode.h | 1 + src/box/iproto_constants.c | 6 +- src/box/iproto_constants.h | 1 + src/box/lua/schema.lua | 8 +- src/box/lua/space.cc | 5 + src/box/lua/xlog.c | 20 ++-- src/box/memtx_engine.c | 10 +- src/box/memtx_space.c | 4 +- src/box/relay.cc | 17 +++- src/box/replication.h | 14 +++ src/box/request.c | 7 +- src/box/space.h | 12 ++- src/box/space_def.c | 6 +- src/box/space_def.h | 7 +- src/box/tuple_format.c | 2 +- src/box/tuple_format.h | 2 +- src/box/txn.c | 79 ++++++++------- src/box/vinyl.c | 7 +- src/box/xrow.c | 28 ++++-- src/box/xrow.h | 1 + test/box/before_replace.result | 2 +- test/box/before_replace.test.lua | 2 +- test/box/misc.result | 5 +- test/box/on_replace.result | 4 +- test/engine/iterator.result | 2 +- test/replication/local_spaces.result | 174 +++++++++++++++++++++++++++++++++ test/replication/local_spaces.test.lua | 63 ++++++++++++ test/replication/suite.cfg | 1 + test/vinyl/ddl.result | 5 + test/vinyl/ddl.test.lua | 3 + 32 files changed, 452 insertions(+), 85 deletions(-) create mode 100644 test/replication/local_spaces.result create mode 100644 test/replication/local_spaces.test.lua -- 2.11.0