From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | daveg <daveg(at)sonic(dot)net>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: error: could not find pg_class tuple for index 2662 |
Date: | 2011-07-29 15:27:02 |
Message-ID: | 26224.1311953222@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Fri, Jul 29, 2011 at 9:55 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> The thing that was bizarre about the one instance in the buildfarm was
>> that the error was persistent, ie, once a session had failed all its
>> subsequent attempts to access pg_class failed too.
> I was thinking more along the lines of a failure while processing a
> sinval message emitted by the REINDEX. The sinval message doesn't get
> fully processed and therefore we get confused about what the
> relfilenode is for pg_class. If that happened for any other relation,
> we could recover by scanning pg_class. But if it happens for pg_class
> or pg_class_oid_index, we're toast, because we can't scan them without
> knowing what relfilenode to open.
Well, no, because the ScanPgRelation call is not failing internally.
It's performing a seqscan of pg_class and not finding a matching tuple.
You could hypothesize about maybe an sinval message got missed leading
us to scan the old (pre-VAC-FULL) copy of pg_class, but that still
wouldn't explain how come we can't find a valid-looking entry for
pg_class_oid_index in it.
Tis a puzzlement.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2011-07-29 15:30:27 | Re: error: could not find pg_class tuple for index 2662 |
Previous Message | Johann 'Myrkraverk' Oskarsson | 2011-07-29 15:18:14 | USECS_* constants undefined with float8 timestamps? |