Re: BUG #15309: ERROR: catalog is missing 1 attribute(s) for relid 760676 when max_parallel_maintenance_workers > 0
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Peter Geoghegan <pg@bowt.ie>, deathlock13@gmail.com,
PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2018-08-06T22:14:39Z
Lists: pgsql-bugs
Alvaro Herrera <alvherre@2ndquadrant.com> writes: > On 2018-Aug-06, Peter Geoghegan wrote: >> Sure enough, that's what the bug is - a few debugging calls to >> RelationMapFilenodeToOid() within nbtsort.c proves it. > Uh, that's weird, isn't it? I mean, why is the relfilenode changing > underneath? Because we're building a brand new index in a new file. > Why isn't it blocked by the CREATE INDEX? Or is CREATE > INDEX inflicting that upon itself? The problem is (or so I assume) failure to propagate process-local state of relmapper.c into the worker processes. So the leader knows that we've assigned a new relfilenode to some mapped index, but the workers don't. regards, tom lane
Commits
-
Handle parallel index builds on mapped relations.
- 4974d7f87e62 12.0 landed
- 9353d94a9b70 11.0 landed
-
Transfer state pertaining to pending REINDEX operations to workers.
- 29d58fd3adae 11.0 cited