Re: psql or pgbouncer bug? - Mailing list pgsql-bugs

From Tom Molesworth
Subject Re: psql or pgbouncer bug?
Date
Msg-id 4BF7E931.40008@audioboundary.com
Whole thread Raw
In response to psql or pgbouncer bug?  (Jakub Ouhrabka <kuba@comgate.cz>)
Responses Re: psql or pgbouncer bug?
Re: psql or pgbouncer bug?
List pgsql-bugs
Hi Jakub,

On 21/05/10 16:19, Jakub Ouhrabka wrote:
> can anyone tell me how this could happen, please?
>
> database=# begin; update table set col = 100;
> server closed the connection unexpectedly
>        This probably means the server terminated abnormally
>        before or while processing the request.
> The connection to the server was lost. Attempting reset: Succeeded.
> UPDATE 153
> database=# ROLLBACK ;
> WARNING:  there is no transaction in progress
> ROLLBACK

I don't know anything about psql internals, but at a guess the sequence
is this:
* 'begin' is sent to server
* Connection is dropped
* Connection is reset, but 'begin' is not resent
* Next statement (the update) is sent to the server, executes immediately
* Rollback gives error since there was no corresponding begin

Seems to be trivially easy to reproduce by connecting via psql, then
killing that connection before issuing the 'begin; update' sequence
(against postgres directly, no pgbouncer needed). If anything, it's an
issue with psql settings? Maybe it should stop on connection drop rather
than attempting reconnect and continuing with further statements.

Tom

pgsql-bugs by date:

Previous
From: Craig Ringer
Date:
Subject: Re: BUG #5468: Pg doesn't send accepted root CA list to client during SSL client cert request
Next
From: Nelson da Silva da Silva
Date:
Subject: Ola