Re: Quorum commit for multiple synchronous replication.
Masahiko Sawada <sawada.mshk@gmail.com>
From: Masahiko Sawada <sawada.mshk@gmail.com>
To: Michael Paquier <michael.paquier@gmail.com>
Cc: Fujii Masao <masao.fujii@gmail.com>, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>,
Noah Misch <noah@leadboat.com>, Amit Kapila <amit.kapila16@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Petr Jelinek <petr@2ndquadrant.com>, Vik Fearing <vik@2ndquadrant.fr>, Simon Riggs <simon@2ndquadrant.com>, Josh Berkus <josh@agliodbs.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-04-14T01:47:46Z
Lists: pgsql-hackers
On Fri, Apr 14, 2017 at 9:38 AM, Michael Paquier <michael.paquier@gmail.com> wrote: > On Fri, Apr 14, 2017 at 2:47 AM, Fujii Masao <masao.fujii@gmail.com> wrote: >> I'm thinking that it's less confusing to report always 0 as the priority of >> async standby whatever the setting of synchronous_standby_names is. >> Thought? > > Or we could have priority being reported to NULL for async standbys as > well, the priority number has no meaning for them anyway... I agree to set the same thing (priority or NULL) to all sync standby in a quorum set. As Fujii-san mentioned, I also think that it means all standbys in a quorum set can be chosen equally. But to less confusion for current user I'd not like to change current behavior of the priority of async standby. > >> If we adopt this idea, in a quorum-based sync replication, I think that >> the priorities of all the standbys listed in synchronous_standby_names >> should be 1 instead of NULL. That is, those standbys have the same >> (highest) priority, and which means that any of them can be chosen as >> sync standby. Thought? > > Mainly my fault here to suggest that standbys in a quorum set should > have a priority set to NULL. My 2c on the matter is that I would be > fine with either having the async standbys having a priority of NULL > or using a priority of 1 for standbys in a quorum set. Though, > honestly, I find that showing a priority number for something where > this has no real meaning is even more confusing.. This is just a thought but we can merge sync_priority and sync_state into one column. The sync priority can have meaning only when the standby is considered as a sync standby or a potential standby in priority-based sync replication. For example, we can show something like 'sync:N' as states of the sync standby and 'potential:N' as states of the potential standby in priority-based sync replication, where N means the priority. In quorum-based sync replication it is just 'quorum'. It breaks backward compatibility, though. Regards, -- Masahiko Sawada NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Set the priorities of all quorum synchronous standbys to 1.
- 346199dcab4c 10.0 landed
-
Improve documentation and comment for quorum-based sync replication.
- a790ed9f69ef 10.0 landed