From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladimir Davydov Subject: [PATCH 0/6] Introduce replica local spaces Date: Wed, 13 Jun 2018 19:10:32 +0300 Message-Id: To: kostja@tarantool.org Cc: tarantool-patches@freelists.org List-ID: This patch introduces a new space option, is_local, which if specified on space creation will render all changes done locally to the space invisible to other replicas (see #3443). This is required for making garbage collection state persistent (see #3442). For implementation details, see patch 6. https://github.com/tarantool/tarantool/issues/3442 https://github.com/tarantool/tarantool/issues/3443 https://github.com/tarantool/tarantool/commits/gh-3443-replica-local-spaces Vladimir Davydov (6): txn: remove unused C++ wrappers xrow: fix ret code on decode failure iproto: fix IPROTO_SERVER_IS_RO key code txn: do not require space id for nop requests xrow: make NOP requests bodiless Introduce replica local spaces src/box/alter.cc | 4 + src/box/box.cc | 6 +- src/box/iproto_constants.c | 9 +- src/box/iproto_constants.h | 3 +- src/box/lua/schema.lua | 9 +- src/box/lua/space.cc | 5 ++ src/box/lua/xlog.c | 20 +++-- src/box/memtx_engine.c | 8 +- src/box/relay.cc | 17 +++- src/box/request.c | 2 +- src/box/space.h | 12 ++- src/box/space_def.c | 2 + src/box/space_def.h | 5 ++ src/box/txn.c | 102 +++++++++++++-------- src/box/txn.h | 37 +++----- src/box/vinyl.c | 5 ++ src/box/xrow.c | 48 ++++++---- src/box/xrow.h | 1 + test/box/before_replace.result | 2 +- test/box/before_replace.test.lua | 2 +- test/engine/iterator.result | 2 +- test/replication/local_spaces.result | 159 +++++++++++++++++++++++++++++++++ test/replication/local_spaces.test.lua | 54 +++++++++++ test/replication/suite.cfg | 1 + test/vinyl/ddl.result | 5 ++ test/vinyl/ddl.test.lua | 3 + 26 files changed, 420 insertions(+), 103 deletions(-) create mode 100644 test/replication/local_spaces.result create mode 100644 test/replication/local_spaces.test.lua -- 2.11.0