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

From Andres Freund
Subject Re: Proposal: Log inability to lock pages during vacuum
Date
Msg-id 20141219075035.GD5023@alap3.anarazel.de
Whole thread Raw
In response to Re: Proposal: Log inability to lock pages during vacuum  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
List pgsql-hackers
On 2014-12-18 16:05:23 -0600, Jim Nasby wrote:
> On 12/18/14, 3:02 PM, Alvaro Herrera wrote:
> >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?
> 
> I would prefer that we at least count if we initially don't get the lock; presumably that number is always low anyway
andin that case I think we're done with this. If it turns out it is common to initially miss the pin then we could do
somethingfancier.
 
> 
> So how about if in the scan_all case we say something like "unable to initially acquire pin on %d buffers\n"?

I'd just do away with the difference between scan_all/!scan_all and
always say the above.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Commitfest problems
Next
From: Mark Kirkwood
Date:
Subject: Re: Commitfest problems