Re: REINDEX CONCURRENTLY unexpectedly fails

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Manuel Rigger <rigger(dot)manuel(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: REINDEX CONCURRENTLY unexpectedly fails
Date: 2019-11-19 01:04:26
Message-ID: 20191119010426.GB1614@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Tom, Andres,

On Fri, Nov 15, 2019 at 05:07:06PM +0900, Michael Paquier wrote:
> So, here is a patch to address all that. I have also added a test for
> REINDEX SCHEMA on a temporary schema. While looking at the problem, I
> have found a crash if trying to reindex concurrently an index or a
> table using a temporary relation from a different session because we
> have been lacking checks with RELATION_IS_OTHER_TEMP() in the
> concurrent code paths. For a schema or database reindex this was not
> happening as these are filtered out using isTempNamespace(). Please
> note that I have not changed index_drop() for the concurrent mode.
> Per my checks this does not actually cause any direct bugs as this
> code path just takes care of dropping the dependencies with the index.
> There could be an argument for changing that on HEAD though, but I am
> not sure that this is worth the complication either.

Would you prefer to look at the patch once? I am planning to review
it once again in one or two days and commit it, unless there are
objections. One thing I am planning to add in the tests are small
checks to make sure that the index relfilenodes have been properly
updated for the temporary tables.
--
Michael

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2019-11-19 01:48:27 Re: BUG #16122: segfault pg_detoast_datum (datum=0x0) at fmgr.c:1833 numrange query
Previous Message Michael Paquier 2019-11-19 00:57:02 Re: BUG #16122: segfault pg_detoast_datum (datum=0x0) at fmgr.c:1833 numrange query