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 last point I would like to mention is that a test with replication from an anonymous replica could be included. 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