Re: Streaming replication on win32, still broken

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Magnus Hagander <magnus@hagander.net>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-02-18T07:38:15Z
Lists: pgsql-hackers
Fujii Masao wrote:
> On Thu, Feb 18, 2010 at 5:28 AM, Heikki Linnakangas
> <heikki.linnakangas@enterprisedb.com> wrote:
>> If I'm reading the patch correctly, when wal_sync_method is 'open_sync',
>> walreceiver nevertheless opens the WAL file without the O_DIRECT flag.
>> When it later flushes it in XLogWalRcvFlush() by issue_xlog_fsync(),
>> issue_xlog_fsync() will do nothing because it assumes the write() synced
>> it already. So the data written isn't being forced to disk at all.
> 
> When 'open_sync' is chosen, the WAL file is opened with O_SYNC or O_FSYNC
> flag. So I think that write() flushes the data to disk even if O_DIRECT
> flag is not given. Am I missing something?

Ah, ok, you're right.

-- 
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com