Re: pg_receivexlog and feedback message - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: pg_receivexlog and feedback message
Date
Msg-id CAHGQGwEWG5L+WkrAYOave=xFE1Ch7Sauv6cCYrSfSDvR_biGgQ@mail.gmail.com
Whole thread Raw
In response to Re: pg_receivexlog and feedback message  (Magnus Hagander <magnus@hagander.net>)
Responses Re: pg_receivexlog and feedback message
List pgsql-hackers
On Mon, Jun 11, 2012 at 10:04 PM, Magnus Hagander <magnus@hagander.net> wrote:
> On Sun, Jun 10, 2012 at 4:02 PM, Fujii Masao <masao.fujii@gmail.com> wrote:
>> On Sun, Jun 10, 2012 at 7:55 PM, Magnus Hagander <magnus@hagander.net> wrote:
>>> How about this?
>>
>> +                               /*
>> +                                * Set flushed position to the last byte in the previous
>> +                                * file. Per above we know that xrecoff%XLOG_SEG_SIZE=0
>> +                                */
>> +                               flushedpos = blockpos;
>> +                               if (flushedpos.xrecoff == 0)
>> +                               {
>> +                                       flushedpos.xlogid--;
>> +                                       flushedpos.xrecoff = XLogFileSize-1;
>> +                               }
>> +                               else
>> +                                       flushedpos.xrecoff--;
>>
>> flushedpos.xrecoff doesn't need to be decremented by one.
>> If xrecoff % XLOG_SEG_SIZE = 0, the position should be the last
>> byte of previous (i.e., flushed) WAL file.
>
> Hmm. I thikn I confused myself with "last byte written" vs "current
> position". And we're dealing with current position here...
>
> So it should just be flushedpos = blockpos and be done with it, right?

Yep.

> Though before I commit anything with this, we need to decide what to
> wrt syncrep on that, per the other thread.

Yep.

Regards,

--
Fujii Masao


pgsql-hackers by date:

Previous
From: Jeff Janes
Date:
Subject: Re: Resource Owner reassign Locks
Next
From: "Kevin Grittner"
Date:
Subject: Re: 9.2 final