[PATCH v2 0/4] Introduce replica local spaces

Vladimir Davydov vdavydov.dev at gmail.com
Mon Jul 9 18:40:08 MSK 2018


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




More information about the Tarantool-patches mailing list