From: | Tatsuo Ishii <ishii(at)postgresql(dot)org> |
---|---|
To: | mark(dot)kirkwood(at)catalyst(dot)net(dot)nz |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Streaming replication |
Date: | 2015-03-31 02:24:00 |
Message-ID: | 20150331.112400.965201886086075141.t-ishii@sraoss.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> On 31/03/15 12:45, Tatsuo Ishii wrote:
>> In the doc:
>>
>> 25.2.5. Streaming Replication
>> :
>> The standby connects to the primary, which streams WAL records to the
>> standby as they're generated, without waiting for the WAL file to be
>> filled.
>>
>> This seems to claim that walsender sends WAL files which has not been
>> fsync'd yet. However, in walsender.c:
>>
>> /*
>> * Streaming the current timeline on a master.
>> *
>> * Attempt to send all data that's already been written out and
>> * fsync'd to disk. We cannot go further than what's been written out
>> * given the current implementation of XLogRead(). And in any case
>> * it's unsafe to send WAL that is not securely down to disk on the
>> * master: if the master subsequently crashes and restarts, slaves
>> * must not have applied any WAL that gets lost on the master.
>> */
>>
>> This one says walsender sends WAL records as long as there are
>> fsync'd.
>>
>> Am I missing something?
>>
>>
>
> I think the docs are trying to say that streaming replication doesn't
> wait for a (16MB) WAL *file* to be filled. but sends each (fsync'd) WAL
> record. I had to reread it several times too :-)
Thanks for the explanation. That makes sense. The docs definitely has
a room for improvement.
Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
From | Date | Subject | |
---|---|---|---|
Next Message | Petr Jelinek | 2015-03-31 02:25:18 | Cleanup double semicolons at the end of source lines |
Previous Message | Joshua D. Drake | 2015-03-31 01:48:38 | Re: Bug #10432 failed to re-find parent key in index |