Re: BUG #5989: Assertion failure on UPDATE of big value

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Cc: Marko Tiikkaja <marko(dot)tiikkaja(at)2ndquadrant(dot)com>, pgsql-bugs(at)postgresql(dot)org, Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Subject: Re: BUG #5989: Assertion failure on UPDATE of big value
Date: 2011-04-20 15:12:03
Message-ID: 27086.1303312323@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> writes:
> There's *three* transactions here. The first one is serializable, and
> reads the tuple. The second one is not serializable, and updates it. The
> third one is serializable and updates it again.

> The second transaction needs to copy the predicate lock held by the
> first transaction to the new row version, so that the third transaction
> that updates it again sees the lock.

> Or, we document that any non-serializable updates will break the
> serialization protection for any other transactions accessing the same rows.

Hmm. I wonder whether we need to have some sort of system-wide enable
flag for this. Unless you can show that the overhead is negligible
(and not having bothered to measure it is definitely not sufficient...)
I'm not excited about dragging down the performance of the entire
database on the off chance that somebody somewhere might be using SSI.

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Heikki Linnakangas 2011-04-20 15:12:38 Re: BUG #5989: Assertion failure on UPDATE of big value
Previous Message Kevin Grittner 2011-04-20 15:08:07 Re: BUG #5989: Assertion failure on UPDATE of big value