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

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: "Wood, Dan" <hexpert@amazon.com>
Cc: "pgsql-bugs@postgresql.org" <pgsql-bugs@postgresql.org>
Date: 2017-09-01T03:25:25Z
Lists: pgsql-bugs
On Thu, Aug 31, 2017 at 3:36 PM, Wood, Dan <hexpert@amazon.com> wrote:
> I’ve found a bug in Postgres which causes old row versions to appear in a
> table.  DEAD rows in a hot chain are getting frozen and becoming visible.
> I’ve repro’d this in both 9.6.1 and 11-devel.

I can confirm that this goes all the way back to 9.3, where "for key
share"/foreign key locks were introduced.

-- 
Peter Geoghegan


Commits

  1. Fix freezing of a dead HOT-updated tuple

  2. Fix potential data corruption during freeze

  3. Clarify the contract of partition_rbound_cmp().