Re: hung backends stuck in spinlock heavy endless loop
Merlin Moncure <mmoncure@gmail.com>
From: Merlin Moncure <mmoncure@gmail.com>
To: Heikki Linnakangas <hlinnakangas@vmware.com>
Cc: Peter Geoghegan <pg@heroku.com>, Andres Freund <andres@2ndquadrant.com>,
Tom Lane <tgl@sss.pgh.pa.us>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2015-01-15T14:02:28Z
Lists: pgsql-hackers
On Thu, Jan 15, 2015 at 6:04 AM, Heikki Linnakangas <hlinnakangas@vmware.com> wrote: > On 01/15/2015 03:23 AM, Peter Geoghegan wrote: >> >> So now the question is: how did that inconsistency arise? It didn't >> necessarily arise at the time of the (presumed) split of block 2 to >> create 9. It could be that the opaque area was changed by something >> else, some time later. I'll investigate more. > > > Merlin, could you re-run the test with a WAL archive (if you don't have one > already), and then run pg_xlogdump, filtering it to show only the changes to > the index? That should show us how the index got to be the way it is. Also, > if you could post a copy of the raw relation file for pg_class_oid_index; I > assume it's not too large. > > Something like: > > pg_xlogdump -r Btree -p walarchive/ -s 0/20035D0 | grep 11917 > > 11917 is the relfilenode of pg_class_oid_index on a freshly initdb'd > cluster. In case it's not the same on your system, you can use oid2name to > find it out. I'm on it. Will try this first, then patch removal. Question: Coming in this morning I did an immediate restart and logged into the database and queried pg_class via index. Everything was fine, and the leftright verify returns nothing. How did it repair itself without a reindex? merlin
Commits
-
Improve hash_create's API for selecting simple-binary-key hash functions.
- 4a14f13a0abf 9.5.0 cited
-
Fix WAL-logging of B-tree "unlink halfdead page" operation.
- c73669c0e016 9.5.0 cited
-
Fix backup-block numbering in redo of b-tree split.
- c91a9b5a285e 9.4.0 cited
-
Cleanup of new b-tree page deletion code.
- 4fafc4ecd9e4 9.4.0 cited
-
Fix bug in the new B-tree incomplete-split code.
- 4a5d55ec2b71 9.4.0 cited
- 954523cdfe22 9.4.0 cited
-
Fix bug in new B-tree page deletion code.
- 77fe2b6d795f 9.4.0 cited
-
Fix rm_desc routine of b-tree page delete records.
- 7d98054f0dd1 9.4.0 cited
-
Make the handling of interrupted B-tree page splits more robust.
- 40dae7ec537c 9.4.0 cited
-
Fix race condition in B-tree page deletion.
- efada2b8e920 9.4.0 cited