Re: BUG #15350: Getting invalid cache ID: 11 Errors

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Thomas Munro <thomas.munro@enterprisedb.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, kieran.mccusker@gmail.com, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2018-09-02T05:04:36Z
Lists: pgsql-bugs
On Thu, Aug 30, 2018 at 4:16 AM Thomas Munro
<thomas.munro@enterprisedb.com> wrote:
>
> On Tue, Aug 28, 2018 at 2:40 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > Thomas Munro <thomas.munro@enterprisedb.com> writes:
> > > We could probably improve that situation by making syscache lookups
> > > (and probably other things too) fail when called from _PG_init() in
> > > regular backends so that extension authors are made aware of this
> > > hazard, or perhaps go the other way and change the order we do things
> > > in parallel workers.
> >
> > Hmm.  There's an argument to be made for the latter: we don't really
> > want stuff failing in parallel workers if it works fine normally.
> >
> > On the other hand, it seems clear to me that we *don't* want extensions to
> > be doing stuff like syscache lookups in _PG_init(), because that would
> > prevent them from working as shared_preload_libraries entries.
> >
> > And on the third hand, intentionally breaking code that used to work
> > isn't likely to win us many friends either.  So I'm not sure that your
> > first option is really tenable.  Perhaps we could get away with doing
> > it in HEAD and not back-patching ... but that does little for existing
> > problems.
>
> Ok, so I guess we should just  make it work then.  Here's throw-away
> test patch to make "unaccent" blow up in this way, and a draft patch
> to reorder things so that it works.
>

+1 for reordering the things in parallel-workers.  It will make the
behavior of parallel workers similar to backends.  In fact, I have
proposed that myself sometime back [1] for the similar problem.

[1] - https://www.postgresql.org/message-id/CAA4eK1KH0wd3%2BtUDxMuMbqhLh0kKMu_TOfAcSVWuyfYVt9hfzQ%40mail.gmail.com

-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Defer restoration of libraries in parallel workers.