Re: BUG #13524: Not Getting expected Serialization error

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: bobby(dot)rullo(at)coreos(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #13524: Not Getting expected Serialization error
Date: 2015-07-29 15:40:45
Message-ID: 30588.1438184445@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

bobby(dot)rullo(at)coreos(dot)com writes:
> To reproduce:
> 1) execute statements in sequence 1 on a connection, stopping at the
> "--EXECUTE" statement.
> 2) In another connection, execute all the statements in Sequence 2.
> 3) Back in the first connection execute the remaining statement (the
> "commit;")

> Expected:
> error when trying to commit, eg. "ERROR: could not serialize"

> Actual:
> Both commits succeed.

> Interesting tidbit:
> If you do the exact steps as above but uncomment the "select count(*)" in
> sequence 2, you get the expected error.

This seems perfectly fine to me. Without the "select count(*)" in
transaction 2, there is a valid serialization of the transactions,
ie t1 before t2. Serializability is *not* defined as "the transactions
appear to have executed in the order they were started (or committed)".
It is defined as "there is some consistent order in which they appear
to have executed".

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Dmitri Bourlatchkov 2015-07-29 15:53:34 Re: BUG #13522: libtermcap.so: broken symbolic link to libncurses.so in PostgreSQL 9.4.4 binary distribution archive
Previous Message philippe_sabaa 2015-07-29 13:35:20 BUG #13526: Out of memory when parallelised