Re: Old row version in hot chain become visible after a freeze
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: "Wong, Yi Wen" <yiwong@amazon.com>
Cc: Michael Paquier <michael.paquier@gmail.com>, Peter Geoghegan <pg@bowt.ie>, "Wood, Dan" <hexpert@amazon.com>, "pgsql-bugs@postgresql.org" <pgsql-bugs@postgresql.org>, Andres Freund <andres@anarazel.de>
Date: 2017-09-28T16:47:13Z
Lists: pgsql-bugs
Alvaro Herrera wrote: > Okay, I have pushed this patch now backpatched to all branches since > 9.3, after staring at this code for way too long. By the way, as a side-effect of this commit, heapam.c has gone from 76.6% covered to 78.6% covered; in particular, FreezeMultiXactId() has gone from absolutely not touched at all to having about half its lines covered; also some newly covered paths in heap_prepare_freeze_tuple. It's not a huge increase, but it's a start. IMO we need some more test cases to cover a few more branches here ... -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Fix freezing of a dead HOT-updated tuple
- fb6de78a291b 9.5.10 landed
- d149aa762c05 9.3.20 landed
- 46c35116ae1a 10.0 landed
- 3a135bdb1b5e 9.6.6 landed
- 232c7cbcbbc6 9.4.15 landed
- 20b655224249 11.0 landed
-
Fix potential data corruption during freeze
- 31b8db8e6c1f 10.0 cited
-
Clarify the contract of partition_rbound_cmp().
- f1dae097f294 10.0 cited