Re: BUG #5952: SetRWConflict assertion failure

Поиск
Список
Период
Сортировка
От Kevin Grittner
Тема Re: BUG #5952: SetRWConflict assertion failure
Дата
Msg-id 4D8F4745020000250003BCFA@gw.wicourts.gov
обсуждение исходный текст
Ответ на BUG #5952: SetRWConflict assertion failure  ("YAMAMOTO Takashi" <yamt@mwd.biglobe.ne.jp>)
Ответы Re: BUG #5952: SetRWConflict assertion failure  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-bugs
"YAMAMOTO Takashi"  wrote:

> Description: SetRWConflict assertion failure

> SerializableXactHashLock relocking in CheckTargetForConflictsIn()
> seems racy to me.

You're right.  The attached patch should fix the assertion you hit.

I will take a close look at the code above the patched area (for the
optimization to drop the predicate lock when we acquire a write
lock).  Looking at it just now I'm wondering if it really is a safe
optimization in PostgreSQL.  It was in the Cahill paper, but InnoDB
doesn't have subtransactions.  I fear that we could give up the
SIReadLock within a subtransaction and then have problems if the
subtransaction rolls back, effectively discarding the write lock.  I
suspect we need to do this only if we're not within a subtransaction.
Will follow up on that after further review.

Thanks!

-Kevin

Вложения

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

Предыдущее
От: "Kevin Grittner"
Дата:
Сообщение: Re: BUG #5953: pgadmin sql-query text pad doesn't work
Следующее
От: Robert Haas
Дата:
Сообщение: Re: BUG #5946: Long exclusive lock taken by vacuum (not full)