Re: collect_corrupt_items_vacuum.patch
От | Alexander Lakhin |
---|---|
Тема | Re: collect_corrupt_items_vacuum.patch |
Дата | |
Msg-id | add210d6-0278-d00e-ebe5-4e5e42e08ecc@gmail.com обсуждение исходный текст |
Ответ на | Re: collect_corrupt_items_vacuum.patch (Alexander Korotkov <aekorotkov@gmail.com>) |
Ответы |
Re: collect_corrupt_items_vacuum.patch
|
Список | pgsql-hackers |
Hi Alexander, 06.11.2023 12:30, Alexander Korotkov wrote: > Surely these would significantly sacrifice accuracy. But we have to do > so in order to avoid reporting false errors. > I've reduced the dirty reproducer Daniel Shelepanov posted initially to the following: numdbs=10 for ((d=1;d<=$numdbs;d++)); do createdb db$d psql db$d -c "create extension pg_visibility" done for ((i=1;i<=300;i++)); do echo "iteration $i" for ((d=1;d<=$numdbs;d++)); do ( echo " create table vacuum_test as select 42 i; vacuum (disable_page_skipping) vacuum_test; select * from pg_check_visible('vacuum_test'); " | psql db$d -a -q >psql-$d.log 2>&1 ) & done wait res=0 for ((d=1;d<=$numdbs;d++)); do grep -q '0 rows' psql-$d.log || { echo "Error condition in psql-$d.log:"; cat psql-$d.log; res=1; break; } psql db$d -q -c "drop table vacuum_test" done [ $res == 0 ] || break; done It looks like the v2 patch doesn't fix the original issue. Maybe I miss something, but with the patch applied, I see the failure immediately, though without the patch several iterations are needed to get it. Best regards, Alexander
В списке pgsql-hackers по дате отправления: