Fix test_misc/010_index_concurrently_upsert for cache-clobbering builds
authorÁlvaro Herrera <alvherre@kurilemu.de>
Tue, 13 Jan 2026 09:03:33 +0000 (10:03 +0100)
committerÁlvaro Herrera <alvherre@kurilemu.de>
Tue, 13 Jan 2026 09:03:33 +0000 (10:03 +0100)
commit8a47d9ee7fa25bb10b8cde46dc7a4d28e95e354e
tree0dc8224fac443e0fd55e4df34bdf945cc4f5a403
parent94a24b4ee5aa42a80a1aacc8eec1fc6a6938894f
Fix test_misc/010_index_concurrently_upsert for cache-clobbering builds

The test script added by commit e1c971945d62 failed to handle the case
of cache-clobbering builds (CLOBBER_CACHE_ALWAYS and
CATCACHE_FORCE_RELEASE) properly -- it would only exit a loop on
timeout, which is slow, and unfortunate because I (Álvaro) increased the
timeout for that loop to the complete default TAP test timeout, causing
the buildfarm to report the whole test run as a timeout failure.  We can
be much quicker: exit the loop as soon as the backend is seen as waiting
on the injection point.

In this commit we still reduce the timeout (of that loop and a nearby
one just to be safe) to half of the default.

I (Álvaro) had also changed Mihail's "sleep(1)" to "sleep(0.1)", which
apparently turns a 1s sleep into a 0s sleep, because Perl -- probably
making this a busy loop.  Use Time::HiRes::usleep instead, like we do in
other tests.

Author: Mihail Nikalayeu <mihailnikalayeu@gmail.com>
Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de>
Discussion: https://postgr.es/m/CADzfLwWOVyJygX6BFuyuhTKkJ7uw2e8OcVCDnf6iqnOFhMPE%2BA%40mail.gmail.com
src/test/modules/test_misc/t/010_index_concurrently_upsert.pl