Re: BUG #18014: Releasing catcache entries makes schema_to_xmlschema() fail when parallel workers are used

Andy Fan <zhihui.fan1213@gmail.com>

From: Andy Fan <zhihui.fan1213@gmail.com>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, pgsql-bugs@lists.postgresql.org
Date: 2023-08-15T23:34:02Z
Lists: pgsql-bugs
Hi:


> I think that we need to determine the level where the problem that should
> be fixed is:
>

Since this thread has not been updated in the last 20 days, I'm not
sure if any people are still working on this. If not, I think considering
reducing the level of the fix is an option, to avoid the unstable testcase.


> Please look at the patch attached, that makes
> schema_get_xml_visible_tables(Oid nspid) isolated from changes in other
> namespaces.
>

I read the patch and it looks good and the change is pretty mild. so
personally +1  for this solution.  Another solution suggested by me
is to force the query to go with index scan for the test case only [1],
which we get the similar result but it just works in this test case.
I think Alexander's method is better,  I just put my findings here just
in case I missed something.

[1]
https://www.postgresql.org/message-id/CAKU4AWqdh2FNv5JVap7QACj0e_a8eP%3DskPeOQittZ%2Bmaaqj9zQ%40mail.gmail.com



-- 
Best Regards
Andy Fan

Commits

  1. Harden xxx_is_visible() functions against concurrent object drops.

  2. Harden has_xxx_privilege() functions against concurrent object drops.