Tarantool development patches archive
 help / color / mirror / Atom feed
From: Konstantin Osipov <kostja.osipov@gmail.com>
To: Olga Arkhangelskaia <arkholga@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH rfc 0/1] replication: stop resetting existing connections
Date: Thu, 2 Apr 2020 16:47:43 +0300	[thread overview]
Message-ID: <20200402134743.GB30577@atlas> (raw)
In-Reply-To: <20200402132948.12804-1-arkholga@tarantool.org>

* 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.

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

  parent reply	other threads:[~2020-04-02 13:47 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 ` Konstantin Osipov [this message]
2020-04-02 16:05   ` [Tarantool-patches] [PATCH rfc 0/1] " Olga Arkhangelskaia
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=20200402134743.GB30577@atlas \
    --to=kostja.osipov@gmail.com \
    --cc=arkholga@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