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*.
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"? |