Found the problem with my operator-family changes: by fetching from
Tom Lane <tgl@sss.pgh.pa.us>
Found the problem with my operator-family changes: by fetching from pg_opclass during LookupOpclassInfo(), I'd turned pg_opclass_oid_index into a critical system index. However the problem could only manifest during a backend's first attempt to load opclass data, and then only if it had successfully loaded pg_internal.init and subsequently received a relcache flush; which made it impossible to reproduce in sequential tests and darn hard even in parallel tests. Memo to self: when exercising cache flush scenarios, must disable LookupOpclassInfo's internal cache too.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/cache/relcache.c | modified | +5 −4 |