Re: error context for vacuum to include block number

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: pgsql-hackers(at)postgresql(dot)org, Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: error context for vacuum to include block number
Date: 2019-12-11 14:36:48
Message-ID: 20191211143648.GK2082@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Dec 11, 2019 at 09:15:07PM +0900, Michael Paquier wrote:
> On Fri, Dec 06, 2019 at 10:23:25AM -0600, Justin Pryzby wrote:
> > Find attached updated patch:
> > . Use structure to include relation name.
> > . Split into a separate patch rename of "StringInfoData buf".
> >
> > 2019-11-27 20:04:53.640 CST [14244] ERROR: canceling statement due to statement timeout
> > 2019-11-27 20:04:53.640 CST [14244] CONTEXT: block 2314 of relation t
> > 2019-11-27 20:04:53.640 CST [14244] STATEMENT: vacuum t;
> >
> > I tried to use BufferGetTag() to avoid using a 2ndary structure, but fails if
> > the buffer is not pinned.
>
> No problem from me to add more context directly in lazy_scan_heap().

Do you mean without a callback ? I think that's necessary, since the IO errors
would happen within ReadBufferExtended, but we don't want to polute that with
errcontext. And cannot call errcontext on its own:
FATAL: errstart was not called

> So I would suggest the following instead:
> "while scanning block %u of relation \"%s.%s\""

Done in the attached.

Attachment Content-Type Size
v3-0001-vacuum-errcontext-to-show-block-being-processed.patch text/x-diff 3.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2019-12-11 15:05:00 Re: allowing broader use of simplehash
Previous Message Robert Haas 2019-12-11 14:29:35 Re: VACUUM memory management