From: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | masao(dot)fujii(at)gmail(dot)com |
Cc: | sawada(dot)mshk(at)gmail(dot)com, thomas(dot)munro(at)enterprisedb(dot)com, michael(dot)paquier(at)gmail(dot)com, robertmhaas(at)gmail(dot)com, thom(at)linux(dot)com, memissemerson(at)gmail(dot)com, josh(at)agliodbs(dot)com, amit(dot)kapila16(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Support for N synchronous standby servers - take 2 |
Date: | 2016-04-06 08:01:51 |
Message-ID: | 20160406.170151.246853881.horiguchi.kyotaro@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
At Wed, 6 Apr 2016 15:29:12 +0900, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote in <CAHGQGwHGQEwH2c9buiZ=G7Ko8PQYwiU7=NsDkvCjRKUPSN8j7A(at)mail(dot)gmail(dot)com>
> > @@ -640,6 +639,13 @@ SyncRepGetSyncStandbys(bool *am_sync)
> > }
> >
> > /*
> > + * The pending list contains eventually potentially-synchronized standbys
> > + * and this walsender may be one of them. So once reset am_sync.
> > + */
> > + if (am_sync != NULL)
> > + *am_sync = false;
> > +
> > + /*
>
> This code seems wrong in the case where this walsender is in the result list.
> So I adopted another logic. Attached is the updated version of the patch.
You must misread the patch. am_sync is originally set in the loop
just after that for the case.
! while (priority <= lowest_priority)
! {
..
! for (cell = list_head(pending); cell != NULL; cell = next)
! {
...
! if (this_priority == priority)
! {
! result = lappend_int(result, i);
! if (am_sync != NULL && walsnd == MyWalSnd)
! *am_sync = true;
--
Kyotaro Horiguchi
NTT Open Source Software Center
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2016-04-06 08:04:33 | Re: Support for N synchronous standby servers - take 2 |
Previous Message | Asif Naeem | 2016-04-06 07:32:29 | Re: Truncating/vacuuming relations on full tablespaces |