Re: Recursive use of syscaches (was: relation ### modified while in use)

From: Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Recursive use of syscaches (was: relation ### modified while in use)
Date: 2000-11-10 00:56:39
Message-ID: 3A0B47C7.100B9F9E@tpf.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:

> "Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp> writes:
> >> Does this occur after a prior error message? I have been suspicious
> >> because there isn't a mechanism to clear the syscache-busy flags during
> >> xact abort.
>
> > I don't know if I've seen the cases you pointed out.
> > I have the following gdb back trace. Obviously it calls
> > SearchSysCache() for cacheId 10 twice. I was able
> > to get another gdb back trace but discarded it by
> > mistake. Though I've added pause() just after detecting
> > recursive use of cache,backends continue the execution
> > in most cases unfortunately.
> > I've not examined the backtrace yet. But don't we have
> > to nail system relation descriptors more than now ?
>
> I don't think that's the solution; nailing more descriptors than we
> absolutely must is not a pretty approach,

I don't object to remove the check 'recursive use of cache'
because it's not a real check of recursion.
My concern is the robustness of rel cache.
It seems pretty dangerous to discard system relation
descriptors used for cache mechanism especially in
case of error recovery.
It also seems pretty dangerous to recontruct relation
descriptors especially in case of error recovery.

Regards.
Hiroshi Inoue

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2000-11-10 01:04:11 Re: Recursive use of syscaches (was: relation ### modified while in use)
Previous Message Tom Lane 2000-11-09 19:08:43 Re: Recursive use of syscaches (was: relation ### modified while in use)