BUG #6497: Error sent to client, but data written anyway

From: rlowe(at)pablowe(dot)net
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6497: Error sent to client, but data written anyway
Date: 2012-02-28 16:23:58
Message-ID: E1S2PqI-0000DP-5q@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 6497
Logged by: Ryan Lowe
Email address: rlowe(at)pablowe(dot)net
PostgreSQL version: 9.1.3
Operating system: Linux
Description:

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=# begin; insert into s.t (c) values (1);
<postgres process core dumps (note that the forked processes were not
affected)>
postgres=# 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*.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message r d 2012-02-28 18:53:53 pgadmin3 update to 1.14.2 erases /usr/bin link
Previous Message luciano 2012-02-28 15:42:51 BUG #6496: Why the SQL is not reported as incorrect? Is there a builtin column named "name"?