Re: Patch to improve reliability of postgresql on linux nfs
Thom Brown <thom@linux.com>
From: Thom Brown <thom@linux.com>
To: George Barnett <gbarnett@atlassian.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-09-09T08:38:58Z
Lists: pgsql-hackers
On 9 September 2011 01:04, George Barnett <gbarnett@atlassian.com> wrote: > After looking through the code I found that when postgres calls write() it doesn't retry. In order to address the issue with the PANIC in the WAL writer I set the sync method to o_sync which solved the issue in that part of the code, however I was still seeing failures in other areas of the code (such as the FileWrite function). Following this, I spoke to an NFS guru who pointed out that writes under linux are not guaranteed to complete unless you open up O_SYNC or similar on the file handle. Have you run the test with varying wal_sync_method values? On Linux the default is fdatasync because historically Linux hasn't supported O_DSYNC (a wal_sync_method value of open_datasync). But I believe as of Kernel 2.6.33 it does support it. Have you tried modifying this parameter in your tests? Are you even using Linux? (you haven't specified) -- Thom Brown Twitter: @darkixion IRC (freenode): dark_ixion Registered Linux user: #516935 EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company