Fix test_misc/010_index_concurrently_upsert for cache-clobbering builds
Álvaro Herrera <alvherre@kurilemu.de>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/test/modules/test_misc/t/010_index_concurrently_upsert.pl | modified | +27 −16 |
Discussion
- Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY 99 messages · 2024-06-11 → 2026-01-28