Re: Unstable regression test for contrib/pageinspect

Поиск
Список
Период
Сортировка
От Mark Dilger
Тема Re: Unstable regression test for contrib/pageinspect
Дата
Msg-id 970ED201-9D3F-44AC-BCB1-77B83598CC7A@enterprisedb.com
обсуждение исходный текст
Ответ на Unstable regression test for contrib/pageinspect  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Unstable regression test for contrib/pageinspect  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers

> On Nov 20, 2022, at 12:37 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> contrib/amcheck and contrib/pg_visibility are also using
> DISABLE_PAGE_SKIPPING, so I wonder if they have similar hazards.
> I haven't seen them fall over, though.

In the amcheck regression test case, it's because the test isn't sensitive to whether the freeze actually happens.  You
cancomment out that line, and the only test difference is the comment: 

@@ -108,8 +108,8 @@
 ERROR:  ending block number must be between 0 and 0
 SELECT * FROM verify_heapam(relation := 'heaptest', startblock := 10000, endblock := 11000);
 ERROR:  starting block number must be between 0 and 0
--- Vacuum freeze to change the xids encountered in subsequent tests
-VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) heaptest;
+-- -- Vacuum freeze to change the xids encountered in subsequent tests
+-- VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) heaptest;
 -- Check that valid options are not rejected nor corruption reported
 -- for a non-empty frozen table
 SELECT * FROM verify_heapam(relation := 'heaptest', skip := 'none');


The amcheck TAP test is sensitive to commenting out the freeze, though:

t/001_verify_heapam.pl .. 42/?
#   Failed test 'all-frozen corrupted table skipping all-frozen'
#   at t/001_verify_heapam.pl line 58.
#          got: '0|3||line pointer redirection to item at offset 21840 exceeds maximum offset 38
# 0|4||line pointer to page offset 21840 with length 21840 ends beyond maximum page offset 8192
# 0|5||line pointer redirection to item at offset 0 precedes minimum offset 1
# 0|6||line pointer length 0 is less than the minimum tuple header size 24
# 0|7||line pointer to page offset 15 is not maximally aligned
# 0|8||line pointer length 15 is less than the minimum tuple header size 24'
#     expected: ''
t/001_verify_heapam.pl .. 211/? # Looks like you failed 1 test of 272.
t/001_verify_heapam.pl .. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/272 subtests
t/002_cic.pl ............ ok
t/003_cic_2pc.pl ........ ok

Test Summary Report
-------------------
t/001_verify_heapam.pl (Wstat: 256 (exited 1) Tests: 272 Failed: 1)
  Failed test:  80
  Non-zero exit status: 1
Files=3, Tests=280, 10 wallclock secs ( 0.05 usr  0.02 sys +  3.84 cusr  3.10 csys =  7.01 CPU)
Result: FAIL
make: *** [check] Error 1


But the TAP test also disables autovacuum, so a background auto-analyze shouldn't be running.  Maybe that's why you
haven'tseen amcheck fall over? 

—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company






В списке pgsql-hackers по дате отправления:

Предыдущее
От: Justin Pryzby
Дата:
Сообщение: Re: CREATE INDEX CONCURRENTLY on partitioned index
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Unstable regression test for contrib/pageinspect