Re: Win32 Powerfail testing - Mailing list pgsql-hackers

From Kevin Brown
Subject Re: Win32 Powerfail testing
Date
Msg-id 20030306043703.GT1833@filer
Whole thread Raw
In response to Re: Win32 Powerfail testing  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Responses Re: Win32 Powerfail testing  (Tatsuo Ishii <t-ishii@sra.co.jp>)
List pgsql-hackers
Tatsuo Ishii wrote:
> Sorry, but it does not help. The page says we could use
> FlushFileBuffers() to sync the kernel buffer to the
> disk. Unfortunately, it requires a file descriptor to flush for its
> argument. Thus it could not be a replacement of sync(). Actually I
> have modified the buffer manager so that it remembers all file
> descriptors those have not been synced yet to the disk at the
> checkpoint time to sync them later. However I found this modification
> does not help at all with some reason I don't know.

It would be an interesting comparison for you to roll the file
descriptor tracking changes into the Unix side of the tree and use
fsync() or fdatasync() in place of FlushFileBuffers() on the Unix side
(you'd have to remove or disable the code that does a sync() of
course).  If the end result yields no data corruption issues during
powerfail testing on various Unix platforms then it's reasonably
likely that the problem you're experiencing on the Windows side is
with the underlying Windows platform and not with your code.



-- 
Kevin Brown                          kevin@sysexperts.com


pgsql-hackers by date:

Previous
From: Justin Clift
Date:
Subject: Re: Who puts the Windows binaries on the FTP server?
Next
From: Bruce Momjian
Date:
Subject: Re: contrib Makefile's and OS X