pgsql: Introduce vacuum errcontext to display additional information.

From: Amit Kapila <akapila(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Introduce vacuum errcontext to display additional information.
Date: 2020-03-30 02:12:28
Message-ID: E1jIjue-0005HM-45@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Introduce vacuum errcontext to display additional information.

The additional information displayed will be block number for error
occurring while processing heap and index name for error occurring
while processing the index.

This will help us in diagnosing the problems that occur during a vacuum.
For ex. due to corruption (either caused by bad hardware or by some bug)
if we get some error while vacuuming, it can help us identify the block
in heap and or additional index information.

It sets up an error context callback to display additional information
with the error. During different phases of vacuum (heap scan, heap
vacuum, index vacuum, index clean up, heap truncate), we update the error
context callback to display appropriate information. We can extend it to
a bit more granular level like adding the phases for FSM operations or for
prefetching the blocks while truncating. However, I felt that it requires
adding many more error callback function calls and can make the code a bit
complex, so left those for now.

Author: Justin Pryzby, with few changes by Amit Kapila
Reviewed-by: Alvaro Herrera, Amit Kapila, Andres Freund, Michael Paquier
and Sawada Masahiko
Discussion: https://www.postgresql.org/message-id/20191120210600.GC30362@telsasoft.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b61d161c146328ae6ba9ed937862d66e5c8b035a

Modified Files
--------------
src/backend/access/heap/vacuumlazy.c | 240 +++++++++++++++++++++++++++++++----
src/tools/pgindent/typedefs.list | 1 +
2 files changed, 216 insertions(+), 25 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Mahendra Singh Thalor 2020-03-30 03:00:43 Re: pgsql: Allow vacuum command to process indexes in parallel.
Previous Message Amit Kapila 2020-03-30 02:08:46 Re: pgsql: Allow vacuum command to process indexes in parallel.