"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.
pgsql-bugs by date
|Next:||From: Robert Haas||Date: 2011-03-28 04:25:05|
|Subject: Re: BUG #5946: Long exclusive lock taken by vacuum (not full)|
|Previous:||From: Kevin Grittner||Date: 2011-03-27 18:23:12|
|Subject: Re: BUG #5953: pgadmin sql-query text pad doesn't work|