From: | "Scot Loach" <sloach(at)sandvine(dot)com> |
---|---|
To: | "Jeff Davis" <pgsql(at)j-davis(dot)com> |
Cc: | <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: BUG #3855: backend sends corrupted data onEHOSTDOWNerror |
Date: | 2008-01-08 19:40:59 |
Message-ID: | F489AB573A749146B33461ECE080913A049D37BB@EXCHANGE-1.sandvine.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Yes that is what I am trying to explain.
So I think this is still a bug that should be fixed in the backend code.
scot.
-----Original Message-----
From: Jeff Davis [mailto:pgsql(at)j-davis(dot)com]
Sent: Tuesday, January 08, 2008 2:40 PM
To: Scot Loach
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: RE: [BUGS] BUG #3855: backend sends corrupted data
onEHOSTDOWNerror
On Tue, 2008-01-08 at 14:06 -0500, Scot Loach wrote:
> I agree this would be fine if PostgreSQL works the way you say below.
>
> However, PostgreSQL does not look at the # of bytes written and
> continue sending after that many bytes. PostgreSQL actually simply
> clears its buffer of bytes to send on this error, in this code:
>
> pqcomm.c:1075
> /*
> * We drop the buffered data anyway so that processing can
> * continue, even though we'll probably quit soon.
> */
> PqSendPointer = 0;
> return EOF;
>
>
> The result as I saw on a system where this was occurring, was that
> when PostgreSQL was sending back a large result set, there was simply
> a fragment of it missing.
I think I see what you are saying. I was thinking about fe-misc.c, where
it explicitly says (in the default case of a switch statement of the
return value):
/* We don't assume it's a fatal error... */
conn->outCount = 0;
return -1;
(but that's on the frontend, obviously)
I think the problem you're talking about comes from the callers of
pq_putmessage, which simply ignore any return value at all (and thus do
not retransmit the message). I agree that is a problem (assuming I
understand what's going on).
Regards,
Jeff Davis
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2008-01-08 21:34:46 | Re: 8.3.0 release schedule (Was:Re: [BUGS] BUG #3852: Could not create complex aggregate) |
Previous Message | Jeff Davis | 2008-01-08 19:39:50 | Re: BUG #3855: backend sends corrupted data onEHOSTDOWNerror |