Re: new heapcheck contrib module

From: Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>
To: "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru>
Cc: Amul Sul <sulamul(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Peter Geoghegan <pg(at)bowt(dot)ie>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: new heapcheck contrib module
Date: 2020-08-28 15:12:44
Message-ID: D8186B59-3A44-4E2F-AC9B-BD7DA6EC06B0@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Aug 27, 2020, at 10:07 PM, Andrey M. Borodin <x4mmm(at)yandex-team(dot)ru> wrote:
>
>
>
>> 25 авг. 2020 г., в 19:36, Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com> написал(а):
>
> Hi Mark!
>
> Thanks for working on this important feature.
>
> I was experimenting a bit with our internal heapcheck and found out that it's not helping with truncated CLOG anyhow.
> Will your module be able to gather tid's of similar corruptions?
>
> server/db M # select * from heap_check('pg_toast.pg_toast_4848601');
> ERROR: 58P01: could not access status of transaction 636558742
> DETAIL: Could not open file "pg_xact/025F": No such file or directory.
> LOCATION: SlruReportIOError, slru.c:913
> Time: 3439.915 ms (00:03.440)

The design principle for verify_heapam.c is, if the rest of the system is not corrupt, corruption in the table being checked should not cause a crash during the table check. This is a very limited principle. Even corruption in the associated toast table or toast index could cause a crash. That is why checking against the toast table is optional, and false by default.

Perhaps a more extensive effort could be made later. I think it is out of scope for this release cycle. It is a very interesting area for further research, though.


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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2020-08-28 15:17:12 Re: Deprecating postfix and factorial operators in PostgreSQL 13
Previous Message Robert Haas 2020-08-28 15:01:44 Re: factorial function/phase out postfix operators?