From: Sergey Ostanevich <sergos@tarantool.org> To: "Konstantin Osipov" <kostja.osipov@gmail.com>, "Николай Карлов" <nikolay.karlov@corp.mail.ru>, "Тимур Сафин" <t.safin@corp.mail.ru>, "Mons Anderson" <v.perepelitsa@corp.mail.ru>, "Aleksandr Lyapunov" <alyapunov@tarantool.org>, "Sergey Bronnikov" <sergeyb@tarantool.org>, tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [RFC] Quorum-based synchronous replication Date: Fri, 17 Apr 2020 16:45:18 +0300 [thread overview] Message-ID: <20200417134518.GA15133@tarantool.org> (raw) In-Reply-To: <20200417101017.GA17411@atlas> Hi, thanks for review! On 17 апр 13:10, Konstantin Osipov wrote: > * sergos@tarantool.org <sergos@tarantool.org> [20/04/15 17:51]: > > ### Quorum commit > > This part looks correct. It only describes two paths out of many > though: > - leader is able to collect the majority > - leader is not able to collect the majority > > What happens when a leader receives a message for a round which is > complete? It just ignores it, the reason - see next comment. > How does a replica which missed a round catch up? > What happens if replica fails to apply txn 1 (e.g. because of a > duplciate key), but confirms txn 2? This should never happen, since each replica applies txns in strict order, means failure of txn 1 will happen before the confirmation of txn 2. As soon as replica fails to apply a txn it should report an error, disconnect and roll back all txns in it's pipeline. After that the replica will ne in a consistent state with Leader's lsn before the txn 1. > > What happens if txn1 gets no majority at the leader, but txn 2 > gets a majority? How are the followers rolled back? This situation means that some of ACKs from replicas didn't arrive. Which doesn't mean they failed to apply txn 1. Althoug, success of txn 2 means the txn 1 was also applied - hence, receiveing a txn N ACK from a replica means ACK for each txn M: M < N. > > In case of a leader failure a replica with the biggest LSN with former > > leader's ID is elected as a new leader. > > As long as multi-master is not banned, there may be multiple > leaders. Does this proposal suggest multi-master is banned? Then > it should describe the implementation of this, and in absense of > transparent query forwarding it will break all clients. > It was mentioned at the top of RFC: > What this RFC is not: > > - high availability (HA) solution with automated failover, roles > assignments an so on > - master-master configuration support Which I tend to describe as 'do not recommend'. Similar to what we have in documentation about the cascading replication configuration. Although, I heard from some users that they successfuly use such config. Regards, Sergos
next prev parent reply other threads:[~2020-04-17 13:45 UTC|newest] Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-03 21:08 Sergey Ostanevich 2020-04-07 13:02 ` Aleksandr Lyapunov 2020-04-08 9:18 ` Sergey Ostanevich 2020-04-08 14:05 ` Konstantin Osipov 2020-04-08 15:06 ` Sergey Ostanevich 2020-04-14 12:58 ` Sergey Bronnikov 2020-04-14 14:43 ` Sergey Ostanevich 2020-04-15 11:09 ` sergos 2020-04-15 14:50 ` sergos 2020-04-16 7:13 ` Aleksandr Lyapunov 2020-04-17 10:10 ` Konstantin Osipov 2020-04-17 13:45 ` Sergey Ostanevich [this message] 2020-04-20 11:20 ` Serge Petrenko 2020-04-20 23:32 ` Vladislav Shpilevoy 2020-04-21 10:49 ` Sergey Ostanevich 2020-04-21 22:17 ` Vladislav Shpilevoy 2020-04-22 16:50 ` Sergey Ostanevich 2020-04-22 20:28 ` Vladislav Shpilevoy 2020-04-23 6:58 ` Konstantin Osipov 2020-04-23 9:14 ` Konstantin Osipov 2020-04-23 11:27 ` Sergey Ostanevich 2020-04-23 11:43 ` Konstantin Osipov 2020-04-23 15:11 ` Sergey Ostanevich 2020-04-23 20:39 ` Konstantin Osipov 2020-04-23 21:38 ` Vladislav Shpilevoy 2020-04-23 22:28 ` Konstantin Osipov 2020-04-30 14:50 ` Sergey Ostanevich 2020-05-06 8:52 ` Konstantin Osipov 2020-05-06 16:39 ` Sergey Ostanevich 2020-05-06 18:44 ` Konstantin Osipov 2020-05-12 15:55 ` Sergey Ostanevich 2020-05-12 16:42 ` Konstantin Osipov 2020-05-13 21:39 ` Vladislav Shpilevoy 2020-05-13 23:54 ` Konstantin Osipov 2020-05-14 20:38 ` Sergey Ostanevich 2020-05-20 20:59 ` Sergey Ostanevich 2020-05-25 23:41 ` Vladislav Shpilevoy 2020-05-27 21:17 ` Sergey Ostanevich 2020-06-09 16:19 ` Sergey Ostanevich 2020-06-11 15:17 ` Vladislav Shpilevoy 2020-06-12 20:31 ` Sergey Ostanevich 2020-05-13 21:36 ` Vladislav Shpilevoy 2020-05-13 23:45 ` Konstantin Osipov 2020-05-06 18:55 ` Konstantin Osipov 2020-05-06 19:10 ` Konstantin Osipov 2020-05-12 16:03 ` Sergey Ostanevich 2020-05-13 21:42 ` Vladislav Shpilevoy 2020-05-14 0:05 ` Konstantin Osipov 2020-05-07 23:01 ` Konstantin Osipov 2020-05-12 16:40 ` Sergey Ostanevich 2020-05-12 17:47 ` Konstantin Osipov 2020-05-13 21:34 ` Vladislav Shpilevoy 2020-05-13 23:31 ` 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=20200417134518.GA15133@tarantool.org \ --to=sergos@tarantool.org \ --cc=alyapunov@tarantool.org \ --cc=kostja.osipov@gmail.com \ --cc=nikolay.karlov@corp.mail.ru \ --cc=sergeyb@tarantool.org \ --cc=t.safin@corp.mail.ru \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.perepelitsa@corp.mail.ru \ --subject='Re: [Tarantool-patches] [RFC] Quorum-based synchronous replication' \ /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