| From: | Noah Misch <noah(at)leadboat(dot)com> | 
|---|---|
| To: | Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> | 
| Cc: | tgl(at)sss(dot)pgh(dot)pa(dot)us, pryzby(at)telsasoft(dot)com, pgsql-hackers(at)postgresql(dot)org | 
| Subject: | Re: v13: CLUSTER segv with wal_level=minimal and parallel index creation | 
| Date: | 2020-09-09 04:05:43 | 
| Message-ID: | 20200909040543.GA15541@rfd.leadboat.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Mon, Sep 07, 2020 at 07:47:09PM -0700, Noah Misch wrote:
> On Tue, Sep 08, 2020 at 10:43:32AM +0900, Kyotaro Horiguchi wrote:
> > At Tue, 08 Sep 2020 09:13:53 +0900 (JST), Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> wrote in 
> > > At Mon, 7 Sep 2020 02:32:55 -0700, Noah Misch <noah(at)leadboat(dot)com> wrote in 
> > > > As a PoC, this looks promising.  Thanks.  Would you add a test case such that
> > > > the following demonstrates the bug in the absence of your PoC?
> > > > 
> > > >   printf '%s\n%s\n%s\n' 'log_statement = all' 'wal_level = minimal' 'max_wal_senders = 0' >/tmp/minimal.conf
> > > >   make check TEMP_CONFIG=/tmp/minimal.conf
> > > 
> > > Mmm. I was close to add some tests to 018_wal_optimize.pl but your
> > > suggestion seems better.  I added several ines to create_index.sql.
After looking closer, I've moved the test to reindex_catalog.sql; see that
file's header comment for the reasons.  One now needs this command:
  printf '%s\n%s\n%s\n' 'log_statement = all' 'wal_level = minimal' 'max_wal_senders = 0' >/tmp/minimal.conf
  make check-tests TESTS=reindex_catalog TEMP_CONFIG=/tmp/minimal.conf
> > > > Please have the test try both a nailed-and-mapped relation and a "nailed, but
> > > > not mapped" relation.  I am fairly confident that your PoC fixes the former
> > > > case, but the latter may need additional code.
> > > 
> > > Mmm. You're right. I choosed pg_amproc_fam_proc_index as
> > > nailed-but-not-mapped index.
> > 
> > I fixed a typo (s/staring/starting/).
> 
> At a glance, this looks reasonable.  If a closer look doesn't reveal problems,
> I'll push this.
RelationBuildDesc() calls RelationInitPhysicalAddr(), so RelationBuildDesc()
can stop calling RelFileNodeSkippingWAL().  The attached version makes it so,
and I plan to push it.
| Attachment | Content-Type | Size | 
|---|---|---|
| skip-wal-nailed-v3.patch | text/plain | 4.4 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2020-09-09 04:11:47 | Re: VACUUM (INTERRUPTIBLE)? | 
| Previous Message | Thomas Munro | 2020-09-09 03:49:55 | Re: Two fsync related performance issues? |