Tarantool development patches archive
 help / color / mirror / Atom feed
From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
To: tarantool-patches@freelists.org,
	Vladimir Davydov <vdavydov.dev@gmail.com>,
	kostja@tarantool.org
Subject: Re: [tarantool-patches] [PATCH 6/6] Introduce replica local spaces
Date: Thu, 14 Jun 2018 00:26:18 +0300	[thread overview]
Message-ID: <f049e935-6c0b-8fed-cd2e-a3d89a6260ed@tarantool.org> (raw)
In-Reply-To: <22474f0135864e15bb4aa2aed19662b7911aa225.1528906027.git.vdavydov.dev@gmail.com>



On 13/06/2018 19:10, Vladimir Davydov wrote:
> 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. The option can only be set on space
> creation and cannot be altered.
> 
> Technically, to support this feature, we introduce a new header flag,
> IPROTO_IS_LOCAL, which is set for all rows corresponding to replica
> local spaces both in xlog and in snap. Relay won't send snapshot rows
> that are marked local. As for xlog rows, it will transform them to
> IPROTO_NOP so as to promote vclock on the replica without doing any
> actual data modification.
> 
> The feature is currently supported for memtx spaces only, but it should
> be easy to implement it for vinyl spaces as well.
> 
> Closes #3443

Please, write here a documentation bot request. Yes, you can do
it right in a commit message at the end. Using the same syntax
as for tickets.

Once the patch is pushed into the trunk (now it is 2.0), the bot
will create the documentation issue automatically.

After the patch was pushed on any branch, you could check that the
bot got your request here: http://try.tarantool.org:11116 in
TarantoolBot Journal.

> ---
>   src/box/alter.cc                       |   4 +
>   src/box/iproto_constants.c             |   4 +-
>   src/box/iproto_constants.h             |   1 +
>   src/box/lua/schema.lua                 |   9 +-
>   src/box/lua/space.cc                   |   5 ++
>   src/box/lua/xlog.c                     |   5 ++
>   src/box/memtx_engine.c                 |   8 +-
>   src/box/relay.cc                       |  17 +++-
>   src/box/space.h                        |  12 ++-
>   src/box/space_def.c                    |   2 +
>   src/box/space_def.h                    |   5 ++
>   src/box/txn.c                          |   3 +
>   src/box/vinyl.c                        |   5 ++
>   src/box/xrow.c                         |   9 ++
>   src/box/xrow.h                         |   1 +
>   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 +
>   21 files changed, 304 insertions(+), 10 deletions(-)
>   create mode 100644 test/replication/local_spaces.result
>   create mode 100644 test/replication/local_spaces.test.lua
> 

  reply	other threads:[~2018-06-13 21:26 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-13 16:10 [PATCH 0/6] " Vladimir Davydov
2018-06-13 16:10 ` [PATCH 1/6] txn: remove unused C++ wrappers Vladimir Davydov
2018-06-27 17:08   ` Konstantin Osipov
2018-06-13 16:10 ` [PATCH 2/6] xrow: fix ret code on decode failure Vladimir Davydov
2018-06-27 17:29   ` Konstantin Osipov
2018-06-13 16:10 ` [PATCH 3/6] iproto: fix IPROTO_SERVER_IS_RO key code Vladimir Davydov
2018-06-27 17:48   ` Konstantin Osipov
2018-06-13 16:10 ` [PATCH 4/6] txn: do not require space id for nop requests Vladimir Davydov
2018-06-27 17:45   ` Konstantin Osipov
2018-06-28  9:13     ` Vladimir Davydov
2018-06-28 10:23       ` Konstantin Osipov
2018-06-28 10:35         ` Vladimir Davydov
2018-06-28 10:54           ` Konstantin Osipov
2018-06-28 11:10             ` Vladimir Davydov
2018-06-13 16:10 ` [PATCH 5/6] xrow: make NOP requests bodiless Vladimir Davydov
2018-06-27 17:49   ` Konstantin Osipov
2018-06-13 16:10 ` [PATCH 6/6] Introduce replica local spaces Vladimir Davydov
2018-06-13 21:26   ` Vladislav Shpilevoy [this message]
2018-06-27 18:24   ` Konstantin Osipov
2018-06-27 18:27   ` Konstantin Osipov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f049e935-6c0b-8fed-cd2e-a3d89a6260ed@tarantool.org \
    --to=v.shpilevoy@tarantool.org \
    --cc=kostja@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --cc=vdavydov.dev@gmail.com \
    --subject='Re: [tarantool-patches] [PATCH 6/6] Introduce replica local spaces' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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