Re: v13: CLUSTER segv with wal_level=minimal and parallel index creation
Kyotaro Horiguchi <horikyota.ntt@gmail.com>
From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: tgl@sss.pgh.pa.us
Cc: pryzby@telsasoft.com, pgsql-hackers@postgresql.org, noah@leadboat.com
Date: 2020-09-07T08:40:36Z
Lists: pgsql-hackers
Attachments
- fix_para_reindex_on_mapped_rels_opc.patch (text/x-patch) patch
At Mon, 07 Sep 2020 13:45:28 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in > The cause is that the worker had received pending-sync entry correctly > but not never created a relcache entry for the relation using > RelationBuildDesc. So the rd_firstRelfilenodeSubid is not correctly > set. > > I'm investigating it. Relcaches are loaded from a file with old content at parallel worker startup. The relcache entry is corrected by invalidation at taking a lock but pending syncs are not considered. Since parallel workers don't access the files so we can just ignore the assertion safely, but I want to rd_firstRelfilenodeSubid flag at invalidation, as attached PoC patch. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
Commits
-
Fix rd_firstRelfilenodeSubid for nailed relations, in parallel workers.
- 6f15be5bedfc 13.0 landed
- fe4d022c8e17 14.0 landed
-
Skip WAL for new relfilenodes, under wal_level=minimal.
- c6b92041d385 13.0 cited