Re: BUG #13667: SSI violation...

Поиск
Список
Период
Сортировка
От Kevin Grittner
Тема Re: BUG #13667: SSI violation...
Дата
Msg-id 1810271785.1293615.1444427336478.JavaMail.yahoo@mail.yahoo.com
обсуждение исходный текст
Ответ на BUG #13667: SSI violation...  (sean@chittenden.org)
Ответы Re: BUG #13667: SSI violation...  (Kevin Grittner <kgrittn@ymail.com>)
Список pgsql-bugs
On Thursday, October 8, 2015 5:01 AM, "sean@chittenden.org" <sean@chittenden.org> wrote:

> A few weeks back I was pointed in the direction of a bug that appears to be
> an SSI violation.  The repro case below is written using bash and psql.
>
> In a tight loop, we would expect 50% of these transactions to fail.
> Instead, periodically we're seeing both transaction commit successfully.
> The concern is that PostgreSQL thinks these transactions are commutable or
> the SIREAD lock isn't erected correctly.
>
> https://github.com/gfredericks/pg-serializability-bug
>
> The two concurrent transactions required to tickle this bug are:
>
> BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
> INSERT INTO things (id) VALUES ('A');
> SELECT id FROM things;
> COMMIT;
>
> BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
> INSERT INTO things (id) VALUES ('B');
> SELECT id FROM things;
> COMMIT;

I agree this is a bug, and it behave like a race condition with a
very narrow window of time for the second process to hit.  It has
proven very hard to find the cause.  So far every attempt to
instrument the code to catch the bug in progress has distorted the
timings enough to prevent the bug from showing.  Next time I take a
run at this I think I need to insert delays at suspicious points in
the code to try to provoke it at greater volume.  If anyone else
wants to take a shot at that and show me what they found that does
that, it would expedite getting a fix.

--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

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

Предыдущее
От: Haribabu Kommi
Дата:
Сообщение: Re: BUG #13670: DST discrepancy between age() and subtraction for timestamptz arguments
Следующее
От: jkoceniak@mediamath.com
Дата:
Сообщение: BUG #13672: What is the purpose of the temp_buffers setting?