Optimize the origin drop functionality.
authorAmit Kapila <akapila@postgresql.org>
Fri, 3 Feb 2023 02:59:08 +0000 (08:29 +0530)
committerAmit Kapila <akapila@postgresql.org>
Fri, 3 Feb 2023 02:59:08 +0000 (08:29 +0530)
commit3e577ff602fe3438ac60771c4a6d027d881619b0
tree555830cd662ba9952d8f6f70354ba061b8d1341d
parent2e9f120b657e540b36843dbb075dab196e79fbfd
Optimize the origin drop functionality.

To interlock against concurrent drops, we use to hold ExclusiveLock on
pg_replication_origin till xact commit. This blocks even concurrent drops
of different origins by tablesync workers. So, instead, lock the specific
origin to interlock against concurrent drops.

This reduces the test time variability in src/test/subscription where
multiple tables are being synced.

Author: Vignesh C
Reviewed-by: Hou Zhijie, Amit Kapila
Discussion: https://postgr.es/m/1412708.1674417574@sss.pgh.pa.us
src/backend/replication/logical/origin.c