From: Olga Arkhangelskaia <arkholga@tarantool.org> To: Konstantin Osipov <kostja.osipov@gmail.com>, tarantool-patches@dev.tarantool.org, sergepetrenko@tarantool.org, sergos@tarantool.org Subject: Re: [Tarantool-patches] [PATCH rfc 0/1] replication: stop resetting existing connections Date: Thu, 2 Apr 2020 19:05:44 +0300 [thread overview] Message-ID: <1d29a21b-78bd-d3a8-0210-fb8f9690aea4@tarantool.org> (raw) In-Reply-To: <20200402134743.GB30577@atlas> Hi! Thanks for the reply! Actually main idea was to start this conversation. 02.04.2020 16:47, Konstantin Osipov пишет: > * Olga Arkhangelskaia <arkholga@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. Yes. > > Why not use instance uuids? I did not think of uuids in such a way. But after reading your description it seems good idea (As I understand even if we have 3301 and localhost:3301 they will have the same uuid). But I am not sure about appliers that should be removed. If there is no UUIDS of existing applier in new appliers pool it should be removed? And we still need to do all this work even if we just changed order in the config. > 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.nm,mn, > >
next prev parent reply other threads:[~2020-04-02 16:05 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-02 13:29 Olga Arkhangelskaia 2020-04-02 13:29 ` [Tarantool-patches] [PATCH rfc 1/1] " Olga Arkhangelskaia 2020-04-02 13:47 ` [Tarantool-patches] [PATCH rfc 0/1] " Konstantin Osipov 2020-04-02 16:05 ` Olga Arkhangelskaia [this message] 2020-04-02 16:43 ` 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=1d29a21b-78bd-d3a8-0210-fb8f9690aea4@tarantool.org \ --to=arkholga@tarantool.org \ --cc=kostja.osipov@gmail.com \ --cc=sergepetrenko@tarantool.org \ --cc=sergos@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH rfc 0/1] replication: stop resetting existing connections' \ /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