Hi,
On Thu, Sep 24, 2009 at 7:41 PM, Heikki Linnakangas
<heikki.linnakangas@enterprisedb.com> wrote:
> Fujii Masao wrote:
>> In the 'replication-orig' branch, walreceiver fsyncs the previous XLOG
>> file after receiving new XLOG records before writing them. This would
>> increase the backend's waiting time for replication in synchronous case.
>> The walreceiver should fsync the XLOG file after sending ACK (if needed)
>> before receiving the next XLOG records?
>
> I don't follow. Wareceiver does fsync the file just after writing it if
> the fsync_requested flag was set in the message. Surely that would be
> set in synchronous mode, that's what the flag is for, right?
That's the case where fsync is issued at the end of segment.
In this case, since the fsync_requested flag is not set,
walreceiver doesn't perform fsync in that loop. After the
next XLOG arrives, walreceiver does fsync to the previous file,
in XLogWalRcvWrite().
Am I missing something?
Regards,
--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center