Re: Support for N synchronous standby servers - take 2 - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: Support for N synchronous standby servers - take 2
Date
Msg-id CAHGQGwH9SJHxCfZYbRDtOHeMNDpm2+gbJYKrJCgBtAhUj4Wb5A@mail.gmail.com
Whole thread Raw
In response to Re: Support for N synchronous standby servers - take 2  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
List pgsql-hackers
On Wed, Apr 6, 2016 at 5:01 PM, Kyotaro HORIGUCHI
<horiguchi.kyotaro@lab.ntt.co.jp> wrote:
> At Wed, 6 Apr 2016 15:29:12 +0900, Fujii Masao <masao.fujii@gmail.com> wrote in
<CAHGQGwHGQEwH2c9buiZ=G7Ko8PQYwiU7=NsDkvCjRKUPSN8j7A@mail.gmail.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;

But if this walsender has the priority 1, *am_sync is set to true in
the first loop not the second one. No?

Regards,

-- 
Fujii Masao



pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Support for N synchronous standby servers - take 2
Next
From: Kyotaro HORIGUCHI
Date:
Subject: Re: Support for N synchronous standby servers - take 2