19 февр. 2020 г., в 12:02, Konstantin Osipov <kostja.osipov@gmail.com> написал(а):

* Serge Petrenko <sergepetrenko@tarantool.org> [20/02/19 12:01]:



19 февр. 2020 г., в 11:52, Konstantin Osipov <kostja.osipov@gmail.com> написал(а):

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


Does it look like I got it right from my answer?

I don't understand. For example, what do you mean by setting it on
the master? You were supposed to set it on the replica, when
sending a SUBSCRIBE request to the master.

I mean taking replica clock from a subscribe request and setting replica_clock[replica->id] = INT64_MAX.
This is done on master in relay_subscribe() called from box_process_subscribe(). Then relay recovery is initialized
with this vclock making recovery skip rows coming from the replica itself.

I’m starting to think that you want me to mangle only with replicaset.applier.vclock
Sorry if I missed it in the very beginning of our discussion.

Honestly, your English isn't perfect, we don't share the same
vocabulary/terms, so it's hard to see what went wrong without a
patch.

Ok, I’ll send a patch soon.



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


--
Serge Petrenko
sergepetrenko@tarantool.org