Re: v13: CLUSTER segv with wal_level=minimal and parallel index creation
От | Noah Misch |
---|---|
Тема | Re: v13: CLUSTER segv with wal_level=minimal and parallel index creation |
Дата | |
Msg-id | 20200909040543.GA15541@rfd.leadboat.com обсуждение исходный текст |
Ответ на | Re: v13: CLUSTER segv with wal_level=minimal and parallel index creation (Noah Misch <noah@leadboat.com>) |
Ответы |
Re: v13: CLUSTER segv with wal_level=minimal and parallel index creation
|
Список | 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.ntt@gmail.com> wrote in > > > At Mon, 7 Sep 2020 02:32:55 -0700, Noah Misch <noah@leadboat.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.
Вложения
В списке pgsql-hackers по дате отправления: