On Mon, Sep 12, 2011 at 04:46:53PM +1000, George Barnett wrote:
> On 12/09/2011, at 3:59 PM, Florian Pflug wrote:
> > If you really meant to say "intr" there (and not "nointr") then that probably explains the partial writes.
> > Still, I agree with Noah and Kevin that we ought to deal more gracefully with this, i.e. resubmit after a partial read() or write(). AFAICS there's nothing to be gained by not doing that, and the increase in code complexity should be negligible. If we do that, however, I believe we might as well handle EINTR correctly, even if SA_RESTART should prevent us from ever seeing that.
> Hi Florian,
> You are indeed correct. Setting nointr also resolves my issue. I could swear I checked this, but obviously not.
> It does still concern me that pgsql did not deal with this as gracefully as other software. I hope the list will consider a patch to resolve that.
> Thanks in advance,
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.
In response to
pgsql-hackers by date
|Next:||From: Andrew Dunstan||Date: 2011-09-12 13:01:07|
|Subject: Re: psql additions|
|Previous:||From: Peter Eisentraut||Date: 2011-09-12 12:54:39|
|Subject: Re: Patch to improve reliability of postgresql on linux