Re: Old row version in hot chain become visible after a freeze

From: "Wood, Dan" <hexpert(at)amazon(dot)com>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: Old row version in hot chain become visible after a freeze
Date: 2017-08-31 23:20:04
Message-ID: 897E6768-98C1-43C5-B743-DF060A7C2D0E@amazon.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

I was aware of the other one and, in fact, reverted the change just to make sure it wasn’t Involved. A strange coincidence indeed.

On 8/31/17, 3:57 PM, "Peter Geoghegan" <pg(at)bowt(dot)ie> wrote:

Hi Dan,

Nice to hear from you.

On Thu, Aug 31, 2017 at 3:36 PM, Wood, Dan <hexpert(at)amazon(dot)com> wrote:
> Because tupgone is false we freeze instead of deleting. Freezing a DEAD
> tuple makes it visible. Here is a comment in heap_prepare_freeze_tuple()
>
>
>
> * It is assumed that the caller has checked the tuple with
>
> * HeapTupleSatisfiesVacuum() and determined that it is not HEAPTUPLE_DEAD

Funny that there'd be another bug associated with
heap_prepare_freeze_tuple() so soon after the last one was discovered.
Are you aware of the other one [1]?

BTW, I just posted a patch to enhance amcheck, to allow it to verify
that an index has all the entries that it ought to [2]. Perhaps you'd
find it useful for this kind of thing. I welcome your feedback on
that.

[1] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=31b8db8e6c1fa4436116f4be5ca789f3a01b9ebf;hp=f1dae097f2945ffcb59a9f236843e0e0bbf0920d
[2] https://commitfest.postgresql.org/14/1263/
--
Peter Geoghegan

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Peter Geoghegan 2017-09-01 00:07:39 Re: Old row version in hot chain become visible after a freeze
Previous Message Peter Geoghegan 2017-08-31 22:56:20 Re: Old row version in hot chain become visible after a freeze