Re: [COMMITTERS] pgsql: Add pages deleted from pending list to FSM - Mailing list pgsql-hackers

From Jeff Janes
Subject Re: [COMMITTERS] pgsql: Add pages deleted from pending list to FSM
Date
Msg-id CAMkU=1xZ7J2tGin25CBDA+Agk_LEXXJyx0FrtESEN+SBAs8Hyg@mail.gmail.com
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Add pages deleted from pending list to FSM  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [COMMITTERS] pgsql: Add pages deleted from pending list to FSM
List pgsql-hackers
On Fri, Sep 18, 2015 at 6:27 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
[ moving thread to -hackers ]

Fujii Masao <masao.fujii@gmail.com> writes:
> So autoanalyze still doesn't call IndexFreeSpaceMapVacuum().
> That is, only backend can clean the list in INSERT-only workload.
> I don't think that this is desirable. Because the backend will
> periodically take a big performance penalty.

Calling IndexFreeSpaceMapVacuum is only need to reuse the space freed up by cleaning the pending list.

The list is still getting cleaned and truncated by autoanalyze, it is just that the space is not getting marked for reuse.

When I wrote this, my thought was that a table vacuum is going to call IndexFreeSpaceMapVacuum() from another place in its code and so should not call it here as well.  I neglected to consider the autoanalyze case.

 
> So I'm thinking that even autoanalyze should call IndexFreeSpaceMapVacuum()
> to clean the list in a background, in order to avoid such spikes in
> INSERT response time. Thought?

But it already is cleaning the list.  If that space is not marked as reusable, that causes index bloat, but doesn't cause latency spikes.



It seems quite bizarre for auto-analyze to do that.  auto-vacuum, sure,
but I do not think this should get plugged into ANALYZE.

It may be odd that autoanalyze cleans the list at all (which this patch doesn't change), but given that it does clean the list I don't see why it would be bizarre to make the cleaned-up space re-usable.

Cheers,

Jeff

pgsql-hackers by date:

Previous
From: "Daniel Verite"
Date:
Subject: Re: [patch] Proposal for \rotate in psql
Next
From: Vladimir Borodin
Date:
Subject: Re: RFC: replace pg_stat_activity.waiting with something more descriptive