Re: Bugs in TOAST handling, OID assignment and redo recovery
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Pavan Deolasee <pavan.deolasee@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-04-12T00:23:31Z
Lists: pgsql-hackers
Attachments
- 0001-Clarify-TOAST-terminology-in-variables-and-error-mes.patch (text/plain) patch 0001
On 4/10/18 06:29, Pavan Deolasee wrote: > One of our 2ndQuadrant support customers recently reported a sudden rush > of TOAST errors post a crash recovery, nearly causing an outage. Most > errors read like this: > > ERROR: unexpected chunk number 0 (expected 1) for toast value nnnn While researching this, I found that the terminology in this code is quite inconsistent. It talks about chunks ids, chunk indexes, chunk numbers, etc. seemingly interchangeably. The above error is actually about the chunk_seq, not about the chunk_id, as one might think. The attached patch is my attempt to clean this up a bit. Thoughts? -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Ignore nextOid when replaying an ONLINE checkpoint.
- efbe36a2c1b0 9.5.13 landed
- 6943fb9275a5 9.4.18 landed
- 66d4b6bb8065 9.3.23 landed
- 060bb38d0750 9.6.9 landed
- d1e9079295e9 11.0 landed
- 08e6cda1c536 10.4 landed
-
Do not select new object OIDs that match recently-dead entries.
- 7448e7e23799 9.3.23 landed
- 5b3ed6b7880b 9.4.18 landed
- 3767216fbdb3 9.5.13 landed
- 8bba10f7e834 9.6.9 landed
- 5a11bf970705 10.4 landed
- 0408e1ed599b 11.0 landed