Re: Patch to improve reliability of postgresql on linux nfs
Florian G. Pflug <fgp@phlo.org>
From: Florian Pflug <fgp@phlo.org>
To: "ktm@rice.edu" <ktm@rice.edu>
Cc: George Barnett <gbarnett@atlassian.com>, Bernd Helmle <mailings@oopsware.de>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-09-12T13:39:02Z
Lists: pgsql-hackers
On Sep12, 2011, at 14:54 , ktm@rice.edu wrote: > Many, many, many other software packages expect I/O usage to be the same on > an NFS volume and a local disk volume, including Oracle. Coding every application, > or more likely mis-coding, to handle this gives every application another chance > to get it wrong. If the OS does this, when it gets it right, all of the apps get > it right. I think you should be surprised when other software actually deals with > broken I/O semantics gracefully rather than concerned when one of a pantheon of > programs does not. My two cents. I don't buy that. People seem to be perfectly able to code correct networking applications (correct from a read/write API POV at least), yet those applications need to deal with partial reads and writes too. Really, it's not *that* hard to put a retry loop around "read" and "write". Also, non-interruptible IO primitives are by no means "right". At best, they're a compromise between complexity and functionality for I/O devices with rather short (and bounded) communication timeouts - because in that case, processes are only blocked un-interruptibly for a short while. best regards, Florian Pflug