[Tarantool-patches] [PATCH 0/5] introduce anonymous replicas
Serge Petrenko
sergepetrenko at tarantool.org
Fri Dec 20 15:17:31 MSK 2019
> 20 дек. 2019 г., в 15:07, Serge Petrenko <sergepetrenko at tarantool.org> написал(а):
>
>
>
>
>> 18 дек. 2019 г., в 10:49, Georgy Kirichenko <georgy at 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 at 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 at 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
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20191220/a7c6ed4f/attachment.html>
More information about the Tarantool-patches
mailing list