BUG #11919: Serializable isolation issue: one session seeing writes from another session.

Поиск
Список
Период
Сортировка
От gavin.panella@canonical.com
Тема BUG #11919: Serializable isolation issue: one session seeing writes from another session.
Дата
Msg-id 20141108234236.2524.67434@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #11919: Serializable isolation issue: one session seeing writes from another session.  (Kevin Grittner <kgrittn@ymail.com>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      11919
Logged by:          Gavin Panella
Email address:      gavin.panella@canonical.com
PostgreSQL version: 9.3.5
Operating system:   Ubuntu 12.04
Description:

I think I might have found a bug in PostgreSQL 9.3.5 relating to
serializable isolation, where code running within a savepoint can see
data committed in a second session after the commencement of the first,
but that data then "disappears" when the savepoint is rolled-back.

Of course, my understanding may be the bug, but here's how to reproduce
the effect:

1. Open two psql sessions to the same database.

2. Create an example table:

     create table things (a int unique);

3. In the first session:

     begin isolation level serializable;
     insert into things (a) values (1);

   Don't commit yet.

4. In the second session:

     begin isolation level serializable;
     savepoint one;
     insert into things (a) values (1);

   This should hang.

5. In the first session:

     commit;

6. Go back to the second session. It will have failed with:

     ERROR:  duplicate key value violates unique constraint "things_a_key"
     DETAIL:  Key (a)=(1) already exists.

7. Continue in the second session:

     rollback to savepoint one;
     select * from things;

   You should see:

      a
     ---
     (0 rows)

В списке pgsql-bugs по дате отправления:

Предыдущее
От: gopigarg729@gmail.com
Дата:
Сообщение: BUG #11926: warning
Следующее
От: John R Pierce
Дата:
Сообщение: Re: BUG #11910: Database connection exhaustion