[Tarantool-patches] [PATCH rfc 0/1] replication: stop resetting existing connections

Konstantin Osipov kostja.osipov at gmail.com
Thu Apr 2 16:47:43 MSK 2020


* Olga Arkhangelskaia <arkholga at tarantool.org> [20/04/02 16:30]:

Could you please explain the idea of the patch?

As far I can see, you do some strcmp magic to understand if the
uri is the same.

Why not use instance uuids?

0) Introduce uuid -> applier hash.
1) Create new appliers for all entries in replication.
2) Establish connections, but do not issue SUBSCRIBE yet.
3) Look at connection server uuids. If this uuid is already
   connected to, then (easy) quietly close the new connection,
   and add existing connection to the new instance of uuid hash.
4) Add the new connection to the new instance of uuid hash.

If there is a duplicate in the *new* instance of the uuid hash,
produce "duplicate connection" error. Otherwise remove/delete all
appliers that are left in the old uuid hash.

Perhaps we need applier reference counting to make this work
smoothly.


-- 
Konstantin Osipov, Moscow, Russia
https://scylladb.com


More information about the Tarantool-patches mailing list