Fix injection point detach timing problem in TAP test for lock stats injection_points_detach() could fail because of a concurrent cleanup triggered by injection_points_set_local() when a session finishes. This problem could be reproduced by adding a hardcoded sleep in InjectionPointDetach(), and has been detected by the CI.
As the test is designed so as the injection point is detached before being awaken, there is no need for it to be local, similarly to test 010_index_concurrently_upsert. This commit removes injection_points_set_local(), replacing it with a confirmation that the point has been attached in the session expected to block on a lock. With this removal, the detach cannot happen concurrently anymore, only before when the point is woken up. Issue introduced by 557a9f1e3e62, where the test has been added. Reported-by: Andres Freund <[email protected]> Discussion: https://postgr.es/m/rp6wz4lnz5qn4zlh7uxtavzfrmqvycy2g42z4zasfss2gxi54f@zzcsjdvdflwp Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/3284e3f63cf0b42a1c89bb547778754d72aac9e4 Modified Files -------------- src/test/modules/test_misc/t/011_lock_stats.pl | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
