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: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>,
Fujii Masao <masao.fujii@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 mailing lists <pgsql-hackers@postgresql.org>
Date: 2016-12-07T08:17:56Z
Lists: pgsql-hackers
On Wed, Dec 7, 2016 at 4:05 PM, Michael Paquier <michael.paquier@gmail.com> wrote: > On Wed, Dec 7, 2016 at 2:49 PM, Kyotaro HORIGUCHI > <horiguchi.kyotaro@lab.ntt.co.jp> wrote: >> Aside from measurement of the two sorting methods, I'd like to >> point out that quorum commit basically doesn't need >> sorting. Counting conforming santdbys while scanning the >> walsender(receiver) LSN list comparing with the target LSN is >> O(n). Small refactoring of SyncRerpGetOldestSyncRecPtr would >> enough to do that. What does the target LSN mean here? > Indeed, I haven't thought about that, and that's a no-brainer. That > would remove the need to allocate and sort each array, what is simply > needed is to track the number of times a newest value has been found. > So what this processing would do is updating the write/flush/apply > values for the first k loops if the new value is *older* than the > current one, where k is the quorum number, and between k+1 and N the > value gets updated only if the value compared is newer. No need to > take the mutex lock for a long time as well. Sorry, I could not understand this algorithm. Could you elaborate this? It takes only O(n) times? > By the way, the patch now > conflicts on HEAD, it needs a refresh. Thanks, I'll post the latest patch. 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