Tarantool development patches archive
 help / color / mirror / Atom feed
From: Konstantin Osipov <kostja.osipov@gmail.com>
To: Serge Petrenko <sergepetrenko@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org,
	Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
Subject: Re: [Tarantool-patches] [PATCH v3 2/4] recovery: allow to ignore rows coming from a certain instance
Date: Wed, 19 Feb 2020 11:52:54 +0300	[thread overview]
Message-ID: <20200219085254.GB6538@atlas> (raw)
In-Reply-To: <93920A98-9B17-43AB-86C2-494161FC032B@tarantool.org>

* Serge Petrenko <sergepetrenko@tarantool.org> [20/02/19 11:45]:
> > This is a strange way to mute rows from self. Why not set vclock
> > component to infinity as I suggested multiple times? Why not
> > respond to me with objection if my suggestion  can not be done?
> 
> I responded with a patch, so now we can discuss both your and my suggestions.

No, we can't. You responded with a patch for your suggestion, but
not for mine. So we compare apples and oranges here. Just like
with Ilya's patch, which only half way captured my suggestion in
his "alternatives".

In the end I'm not even sure you got it right.

> If I understood you correctly, you suggested to set replica self lsn to infinity
> (on master side), so that recovery on masters side would skip replicas rows.
> 
> I tried your approach and initialized recovery with vclock[replica_id] = INT64_MAX.
> This does allow you to skip replica’s rows, but this breaks vclock signature, which will
> overflow immediately. vclock signatures are used to order gc consumers, gc
> consumer corresponding to a replica gets its vclock from relay recovery.
> Ok, you could suggest to reset vclock[replica_id] to some meaningful value, but where
> do you get this value from? You cannot do gc message vclock[replica_id] =
> replica ack vclock[replica_id], because replica may have some rows you still
> don’t have. Then replica ack vclock signature may get too big and you will delete
> other logs containing your changes.
> You also cannot set gc vclock[replica_id] to 0, because it will hold logs, not needed by
> replica for too long.

Please send a patch and we'll be able to discuss where it went
wrong for you.


-- 
Konstantin Osipov, Moscow, Russia

  reply	other threads:[~2020-02-19  8:52 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-18 17:37 [Tarantool-patches] [PATCH v3 0/4] replication: fix applying of rows originating from local instance Serge Petrenko
2020-02-18 17:37 ` [Tarantool-patches] [PATCH v3 1/4] box: expose box_is_orphan method Serge Petrenko
2020-02-18 17:37 ` [Tarantool-patches] [PATCH v3 2/4] recovery: allow to ignore rows coming from a certain instance Serge Petrenko
2020-02-18 19:03   ` Konstantin Osipov
2020-02-19  8:43     ` Serge Petrenko
2020-02-19  8:52       ` Konstantin Osipov [this message]
2020-02-19  8:57         ` Serge Petrenko
2020-02-19  9:02           ` Konstantin Osipov
2020-02-19  9:35             ` Serge Petrenko
2020-02-19 10:11               ` Konstantin Osipov
2020-02-19 10:31                 ` Serge Petrenko
2020-02-19 11:27                   ` Konstantin Osipov
2020-02-18 17:37 ` [Tarantool-patches] [PATCH v3 3/4] replication: do not relay rows coming from a remote instance back to it Serge Petrenko
2020-02-18 19:07   ` Konstantin Osipov
2020-02-18 17:37 ` [Tarantool-patches] [PATCH v3 4/4] wal: warn when trying to write a record with a broken lsn Serge Petrenko
2020-02-22 20:21 ` [Tarantool-patches] [PATCH v3 0/4] replication: fix applying of rows originating from local instance Georgy Kirichenko
2020-02-22 20:49   ` Konstantin Osipov
2020-02-23  8:16     ` Georgy Kirichenko
2020-02-24 10:18       ` Konstantin Osipov
2020-02-24 12:31         ` Георгий Кириченко
2020-02-26 10:09           ` Sergey Petrenko

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=20200219085254.GB6538@atlas \
    --to=kostja.osipov@gmail.com \
    --cc=sergepetrenko@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v3 2/4] recovery: allow to ignore rows coming from a certain instance' \
    /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