Retain locks after marking the partitioned index valid Commit 8b08f7d4820f (pg11-era), for no apparent reason, made validatePartitionedIndex() release the locks on the parent partitioned index and table when marking the parent index valid after marking the index partition as valid. This leads to race condition, which particularly manifest when restoring from pg_dump in parallel mode, for instance causing restore of FKs to fail if the PK that they depend on is being concurrently validated. Fix by retaining those locks until transaction commit, as we normally do everywhere in DDL code.
Per buildfarm failures. Author: Andrey Borodin <[email protected]> (in absentia) Diagnosed-by: Kirill Reshke <[email protected]> Backpatch-through: 14 Discussion: https://postgr.es/m/l4joqljvbou26unhplkdj7m5olxn7rsy2loqlcta44nie5k3bs@zudmva7han7g Branch ------ REL_14_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/31fa779823c8520a2165f30fcb25880b07342462 Modified Files -------------- src/backend/commands/tablecmds.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
