BUG #6497: Error sent to client, but data written anyway - Mailing list pgsql-bugs

From rlowe@pablowe.net
Subject BUG #6497: Error sent to client, but data written anyway
Date
Msg-id E1S2PqI-0000DP-5q@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #6497: Error sent to client, but data written anyway
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      6497
Logged by:          Ryan Lowe
Email address:      rlowe@pablowe.net
PostgreSQL version: 9.1.3
Operating system:   Linux
Description:=20=20=20=20=20=20=20=20

There is an edge case where Postgres will return an error to the client, but
commit the operation anyway, thus breaking the contract with the client:

postgres=3D# begin; insert into s.t (c) values (1);
<postgres process core dumps (note that the forked processes were not
affected)>
postgres=3D# commit;
<this returns an error to the application>
<postgress process restarts>
The data is now on both the master and slave, but the application
believes that the transaction was rolled back.  A well-behaved
application will dutifully retry the transaction because it *should*
have rolled back.  However, the data is there so we'll have had the
transaction execute *twice*.

pgsql-bugs by date:

Previous
From: luciano@geocontrol.com.br
Date:
Subject: BUG #6496: Why the SQL is not reported as incorrect? Is there a builtin column named "name"?
Next
From: Tom Lane
Date:
Subject: Re: BUG #6497: Error sent to client, but data written anyway