[PATCH 0/6] Introduce replica local spaces

Vladimir Davydov vdavydov.dev at gmail.com
Wed Jun 13 19:10:32 MSK 2018


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




More information about the Tarantool-patches mailing list