Fix race condition in drop subscription's handling of tablesync slots.
authorAmit Kapila <[email protected]>
Wed, 17 Mar 2021 02:45:12 +0000 (08:15 +0530)
committerAmit Kapila <[email protected]>
Wed, 17 Mar 2021 02:45:12 +0000 (08:15 +0530)
commit6b67d72b604cb913e39324b81b61ab194d94cba0
tree5598da9e3883eb09c338bba27e210fadd5db8bf9
parent7efeb214ad832fa96ea950d0906b1d2b96316d15
Fix race condition in drop subscription's handling of tablesync slots.

Commit ce0fdbfe97 made tablesync slots permanent and allow Drop
Subscription to drop such slots. However, it is possible that before
tablesync worker could get the acknowledgment of slot creation, drop
subscription stops it and that can lead to a dangling slot on the
publisher. Prevent cancel/die interrupts while creating a slot in the
tablesync worker.

Reported-by: Thomas Munro as per buildfarm
Author: Amit Kapila
Reviewed-by: Vignesh C, Takamichi Osumi
Discussion: https://postgr.es/m/CA+hUKGJG9dWpw1cOQ2nzWU8PHjm=PTraB+KgE5648K9nTfwvxg@mail.gmail.com
src/backend/replication/logical/tablesync.c