Thread: ERROR: cache lookup failed for type 14237017

ERROR: cache lookup failed for type 14237017

From
Aleksey Tsalolikhin
Date:
Yesterday, I had twelve thousand  "cache lookup failed for type N"
messages, like this:

2010-09-20 00:00:00 PDT ERROR:  cache lookup failed for type 14237017
2010-09-20 00:00:00 PDT CONTEXT:  SQL statement "INSERT INTO
mycluster.sl_log_2 (log_origin, log_xid, log_tableid, log_actionseq,
log_cmdtype, log_cmddata) VALUES (1, $1, $2,
nextval('mycluster.sl_action_seq'), $3, $4);"

The context is always Slony sl_log_2 table.  All twelve thousand
errors occurred within 40 minutes.  This did happen right after a
Slony cluster set drop and recreate.

What does "type 14237017" mean?  What cache are we talking about?

I am concerned because this is classified as ERROR rather than WARNING.

Thanks,
Aleksey

Re: ERROR: cache lookup failed for type 14237017

From
Jens Wilke
Date:
On Dienstag, 21. September 2010, Aleksey Tsalolikhin wrote:
> Yesterday, I had twelve thousand  "cache lookup failed for type N"
> messages, like this:

> What does "type 14237017" mean?

pg_type oid

> What cache are we talking about?

Did you alter a type before?
There's a bug in postgres, that prevents the plan cache to be
invalidated on type changes. We ran into this bug as well on 8.4.4.

HTH, Jens

Re: ERROR: cache lookup failed for type 14237017

From
Aleksey Tsalolikhin
Date:
On Tue, Sep 21, 2010 at 2:06 PM, Jens Wilke <jens@wilke.org> wrote:
> On Dienstag, 21. September 2010, Aleksey Tsalolikhin wrote:
>> Yesterday, I had twelve thousand  "cache lookup failed for type N"
>> messages, like this:
>
>> What does "type 14237017" mean?
>
> pg_type oid

Dear Jens,

  I am trying to understand your reply.

  pg_type is a catalog of data types:
http://www.postgresql.org/docs/8.4/static/catalog-pg-type.html

  An OID is a key to system table:
http://www.postgresql.org/docs/8.4/static/datatype-oid.html
I guess it's used to identify a row in a system table.

  So PostgreSQL was trying to lookup a row in a system table and did
not find it in a cache.


>> What cache are we talking about?
>
> Did you alter a type before?

No.  I don't even know how to alter a type.

> There's a bug in postgres, that prevents the plan cache to be
> invalidated on type changes. We ran into this bug as well on 8.4.4.

Is there a bug id or a URL for the bug, please?  I'd like to study the
bug description to
understand it better.

Sincerely,
Aleksey

Re: ERROR: cache lookup failed for type 14237017

From
Jens Wilke
Date:
On Dienstag, 21. September 2010, Aleksey Tsalolikhin wrote:

Hi Aleksey,

>   So PostgreSQL was trying to lookup a row in a system table and
> did not find it in a cache.

yes,
select * from pg_type where oid =14237017

>> Did you alter a type before?

> No.  I don't even know how to alter a type.

Sorry, what i mean is drop and recreate a type.

> Is there a bug id or a URL for the bug, please?  I'd like to study

No idea, sorry

Jens

Re: ERROR: cache lookup failed for type 14237017

From
Aleksey Tsalolikhin
Date:
On Tue, Sep 21, 2010 at 3:10 PM, Jens Wilke <jens@wilke.org> wrote:
> On Dienstag, 21. September 2010, Aleksey Tsalolikhin wrote:
>
>>   So PostgreSQL was trying to lookup a row in a system table and
>> did not find it in a cache.
>
> yes,
> select * from pg_type where oid =14237017

Thank you.

>>> Did you alter a type before?
>
>> No.  I don't even know how to alter a type.
>
> Sorry, what i mean is drop and recreate a type.

I did drop the entire slony schema and then recreated it.  It seems
to be slony-related issue; I am taking it further on the Slony mailing list.

Thanks!!
Aleksey