Re: Proposal: Log inability to lock pages during vacuum - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Proposal: Log inability to lock pages during vacuum
Date
Msg-id 20141218210254.GQ1768@alvh.no-ip.org
Whole thread Raw
In response to Re: Proposal: Log inability to lock pages during vacuum  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: Proposal: Log inability to lock pages during vacuum  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
List pgsql-hackers
Andres Freund wrote:
> On 2014-12-18 16:41:04 -0300, Alvaro Herrera wrote:
> > +            if (scan_all)
> > +                appendStringInfo(&buf, _("waited for %d buffer pins\n"),
> > +                                 vacrelstats->pinned_pages);
> > +            else
> > +                appendStringInfo(&buf,
> > +                                 _("skipped %d pages due to buffer pins\n"),
> > +                                 vacrelstats->pinned_pages);
> 
> Unless I miss something this is, as mentioned before, not
> correct. scan_all doesn't imply at all that we waited for buffer
> pins. We only do so if lazy_check_needs_freeze(buf). Which usually won't
> be true for a *significant* number of pages.

Ah, interesting, I didn't remember we had that.  I guess one possible
tweak is to discount the pages we skip from pinned_pages; or we could
keep a separate count of pages waited for.  Jim, up for a patch?

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Proposal: Log inability to lock pages during vacuum
Next
From: Jim Nasby
Date:
Subject: Re: Commitfest problems