Re: 8.4.0 data loss / HOT-related bug

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>
Cc: gsstark(at)mit(dot)edu (Greg Stark), Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Radoslaw Zielinski <radek(at)pld-linux(dot)org>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: 8.4.0 data loss / HOT-related bug
Date: 2009-08-24 15:24:16
Message-ID: 12095.1251127456@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk> writes:
> "Greg" == Greg Stark <gsstark(at)mit(dot)edu> writes:
> Greg> Either of two things are true.
> Greg> Either transaction 6179 committed,
> [snip]

> This is all missing the point. The row should have been killed by
> transaction 4971, NOT 6179. By the time transaction 6179 tried to
> do anything with it, it was almost certainly already broken (or
> possibly 6179 broke it).

If there have been any crashes in this database, the problem might be
a variant of Jeff Ross' issue --- to wit, the row killed by
transaction 4971 actually is dead (and its associated toast items
have been removed), but that row is still found by seqscans because
of an incorrect PD_ALL_VISIBLE flag.

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Robert Haas 2009-08-24 17:32:16 Re: BUG #4999: select 'a' < 'A' is true, but should be false . . .
Previous Message Tom Lane 2009-08-24 15:12:18 Re: BUG #5006: Backend crashed after select with subselect in where cluase