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

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: "Wood, Dan" <hexpert(at)amazon(dot)com>
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 22:56:20
Message-ID: CAH2-Wz=cHGRPoXkYgi+rxg1TEMqf79DiiN7qq_yoHAL8mAfR0w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

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 Wood, Dan 2017-08-31 23:20:04 Re: Old row version in hot chain become visible after a freeze
Previous Message Wood, Dan 2017-08-31 22:36:43 Old row version in hot chain become visible after a freeze