On Thu, Oct 27, 2011 at 4:49 PM, Magnus Hagander <mag...@hagander.net> wrote:
> On Thu, Oct 27, 2011 at 09:46, Fujii Masao <masao.fu...@gmail.com> wrote:
>> On Thu, Oct 27, 2011 at 4:40 PM, Magnus Hagander <mag...@hagander.net> wrote:
>>> On Thu, Oct 27, 2011 at 09:29, Fujii Masao <masao.fu...@gmail.com> wrote:
>>>> On Thu, Oct 27, 2011 at 3:29 AM, Magnus Hagander <mag...@hagander.net> 
>>>> wrote:
>>>>> I've applied this version with a few more minor changes that Heikki found.
>>>>
>>>> Cool!
>>>>
>>>> When I tried pg_receivexlog and checked the contents of streamed WAL file 
>>>> by
>>>> xlogdump, I found that recent WAL records that walsender has already sent 
>>>> don't
>>>> exist in that WAL file. I expected that pg_receivexlog writes the streamed 
>>>> WAL
>>>> records to the disk as soon as possible, but it doesn't. Is this
>>>> intentional? Or bug?
>>>> Am I missing something?
>>>
>>> It writes it to disk as soon as possible, but doesn't fsync() until
>>> the end of each segment. Are you by any chance looking at the file
>>> while it's running?
>>
>> No. I looked at that file after shutting down the master server.
>
> Ugh, in that case something is certainly wrong. There is nothing but
> setting up some offset values between PQgetCopyData() and write()...

When end-of-copy stream is found or an error happens, pg_receivexlog
exits without flushing outstanding WAL records. Which seems to cause
the problem I reported.

Regards,

-- 
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to