From: Serge Petrenko <sergepetrenko@tarantool.org> To: Georgy Kirichenko <georgy@tarantool.org>, Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Cc: tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH 0/5] introduce anonymous replicas Date: Fri, 20 Dec 2019 15:17:31 +0300 [thread overview] Message-ID: <F06A36D9-13B7-4536-A0A7-103A82A5A3E9@tarantool.org> (raw) In-Reply-To: <42E14FD3-741F-45F3-B6CC-D4B655D473CC@tarantool.org> [-- Attachment #1: Type: text/plain, Size: 3522 bytes --] > 20 дек. 2019 г., в 15:07, Serge Petrenko <sergepetrenko@tarantool.org> написал(а): > > > > >> 18 дек. 2019 г., в 10:49, Georgy Kirichenko <georgy@tarantool.org> написал(а): >> >> Hi! >> Thank you for the patch set, good approach and overall it looks good to be >> merged. And there alos some points I would like to point. >> Please consider what should happen if any other instance tries to connect to >> an anonymous replica. I think we could enable such replication if a connecting >> replica is anonymous to, however, this should be an object of a different issue >> so we could disable such behavior right now. At least we should handle >> replica_id = 0 while replication. The case with replcia_id = 0 is handled in relay_send_row() Anonymous replica just doesn’t send the rows which have id = 0. For now I just forbid replication from an anonymous instance. Other anonymous instances may fetch this instances snapshot, and then they’ll get an error on subscribe: «Replication does not support replicating from an anonymous instance» I’ve also opened a ticket to allow anon replication from an anon instance https://github.com/tarantool/tarantool/issues/4696 -- Serge Petrenko sergepetrenko@tarantool.org >> The last point I would like to mention is that a test with replication from an >> anonymous replica could be included. >> >> > Hi! Thank you for review. I’ve added the test you requested and sent it as a follow-up > to 5th patch. > > Vlad, could you do the second review? > -- > Serge Petrenko > sergepetrenko@tarantool.org > > >> On Sunday, 15 December 2019 23:56:14 MSK sergepetrenko wrote: >>> Serge Petrenko (3): >>> box: update comment describing join protocol >>> replication: do not decode replicaset uuid when processing a subscribe >>> applier: split join processing into two stages >>> >>> sergepetrenko (2): >>> vclock: ignore 0th component in comparisons. >>> replication: introduce anonymous replica. >>> >>> src/box/applier.cc | 119 ++++++++++++-- >>> src/box/applier.h | 4 + >>> src/box/box.cc | 278 ++++++++++++++++++++++++++++++-- >>> src/box/box.h | 11 +- >>> src/box/iproto.cc | 16 +- >>> src/box/iproto_constants.h | 6 + >>> src/box/lua/cfg.cc | 14 +- >>> src/box/lua/info.c | 4 +- >>> src/box/lua/load_cfg.lua | 4 + >>> src/box/recovery.cc | 7 +- >>> src/box/relay.cc | 32 +++- >>> src/box/replication.cc | 41 ++++- >>> src/box/replication.h | 24 +++ >>> src/box/vclock.h | 7 + >>> src/box/wal.c | 4 + >>> src/box/xrow.c | 47 +++++- >>> src/box/xrow.h | 68 ++++++-- >>> test/app-tap/init_script.result | 49 +++--- >>> test/box/admin.result | 2 + >>> test/box/cfg.result | 4 + >>> test/replication/anon.lua | 13 ++ >>> test/replication/anon.result | 259 +++++++++++++++++++++++++++++ >>> test/replication/anon.test.lua | 89 ++++++++++ >>> test/replication/suite.cfg | 1 + >>> test/unit/vclock.cc | 8 +- >>> 25 files changed, 1022 insertions(+), 89 deletions(-) >>> create mode 100644 test/replication/anon.lua >>> create mode 100644 test/replication/anon.result >>> create mode 100644 test/replication/anon.test.lua >> > [-- Attachment #2: Type: text/html, Size: 7419 bytes --]
next prev parent reply other threads:[~2019-12-20 12:17 UTC|newest] Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-15 20:56 sergepetrenko 2019-12-15 20:58 ` [Tarantool-patches] [PATCH 1/5] box: update comment describing join protocol sergepetrenko 2019-12-22 17:58 ` Vladislav Shpilevoy 2019-12-23 21:12 ` Sergey Petrenko 2019-12-15 20:58 ` [Tarantool-patches] [PATCH 2/5] replication: do not decode replicaset uuid when processing a subscribe sergepetrenko 2019-12-15 20:58 ` [Tarantool-patches] [PATCH 3/5] applier: split join processing into two stages sergepetrenko 2019-12-22 17:59 ` Vladislav Shpilevoy 2019-12-23 22:10 ` Sergey Petrenko 2019-12-24 15:50 ` Vladislav Shpilevoy 2019-12-15 20:58 ` [Tarantool-patches] [PATCH 4/5] vclock: ignore 0th component in comparisons sergepetrenko 2019-12-22 17:59 ` Vladislav Shpilevoy 2019-12-23 21:26 ` Sergey Petrenko 2019-12-23 22:58 ` Sergey Petrenko 2019-12-26 4:43 ` Konstantin Osipov 2019-12-26 5:02 ` Konstantin Osipov 2019-12-27 12:56 ` Sergey Petrenko 2019-12-27 13:31 ` Konstantin Osipov 2019-12-27 13:48 ` Sergey Petrenko 2019-12-27 14:40 ` Konstantin Osipov 2019-12-15 20:58 ` [Tarantool-patches] [PATCH 5/5] replication: introduce anonymous replica sergepetrenko 2019-12-16 13:28 ` Serge Petrenko 2019-12-20 12:06 ` Serge Petrenko 2019-12-22 17:58 ` Vladislav Shpilevoy 2019-12-25 12:40 ` Sergey Petrenko 2019-12-25 18:23 ` Vladislav Shpilevoy 2019-12-26 16:08 ` Sergey Petrenko 2019-12-15 21:00 ` [Tarantool-patches] [PATCH 0/5] introduce anonymous replicas Sergey Petrenko 2019-12-18 7:49 ` Georgy Kirichenko 2019-12-20 12:07 ` Serge Petrenko 2019-12-20 12:17 ` Serge Petrenko [this message] 2019-12-22 17:59 ` Vladislav Shpilevoy
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=F06A36D9-13B7-4536-A0A7-103A82A5A3E9@tarantool.org \ --to=sergepetrenko@tarantool.org \ --cc=georgy@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH 0/5] introduce anonymous replicas' \ /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