Tarantool development patches archive
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Introduce replica local spaces
@ 2018-07-09 15:40 Vladimir Davydov
  2018-07-09 15:40 ` [PATCH v2 1/4] txn: do not require space id for nop requests Vladimir Davydov
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Vladimir Davydov @ 2018-07-09 15:40 UTC (permalink / raw)
  To: kostja; +Cc: tarantool-patches

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-07-10 18:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-09 15:40 [PATCH v2 0/4] Introduce replica local spaces Vladimir Davydov
2018-07-09 15:40 ` [PATCH v2 1/4] txn: do not require space id for nop requests Vladimir Davydov
2018-07-10 18:57   ` Konstantin Osipov
2018-07-09 15:40 ` [PATCH v2 2/4] xrow: make NOP requests bodiless Vladimir Davydov
2018-07-09 15:40 ` [PATCH v2 3/4] Rename space_opts::temporary to is_temporary Vladimir Davydov
2018-07-09 15:40 ` [PATCH v2 4/4] Introduce replica local spaces Vladimir Davydov
2018-07-09 18:05   ` [tarantool-patches] " Vladislav Shpilevoy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox