pgsql: Fix race condition in remove_temp_files_after_crash TAP test

From: Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix race condition in remove_temp_files_after_crash TAP test
Date: 2021-03-19 17:21:57
Message-ID: E1lNIov-0007QS-Kf@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix race condition in remove_temp_files_after_crash TAP test

The TAP test was written so that it was not waiting for the correct SQL
command, but for output from the preceding one. This resulted in race
conditions, allowing the commands to run in a different order, not block
as expected and so on. This fixes it by inverting the order of commands
where possible, so that observing the output guarantees the data was
inserted properly, and waiting for a lock to appear in pg_locks.

Discussion: https://postgr.es/m/CAH503wDKdYzyq7U-QJqGn%3DGm6XmoK%2B6_6xTJ-Yn5WSvoHLY1Ww%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e589c4890b05044a04207c2797e7c8af6693ea5f

Modified Files
--------------
src/test/recovery/t/022_crash_temp_files.pl | 44 +++++++++++++++++++++++++++--
1 file changed, 42 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2021-03-19 19:37:33 pgsql: Allow configurable LZ4 TOAST compression.
Previous Message Tom Lane 2021-03-19 02:43:26 pgsql: Blindly try to fix test script's tar invocation for MSYS.