Skip site navigation (1) Skip section navigation (2)

Re: Bug in autovacuum.c?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Bug in autovacuum.c?
Date: 2011-04-02 20:56:46
Message-ID: 345.1301777806@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers
Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Fri, Apr 1, 2011 at 5:48 PM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
>> Agreed it is not worth it but I think we should at least C comment
>> something.  I think at a minimum we should set it to
>> FirstNormalTransactionId.

> I think you should leave it well enough alone.

Yes.  The point of the existing coding is to ensure that we don't
overestimate the table age at which vacuums should be forced.
Bruce's proposed change would move the inaccuracy in the wrong
direction, and thus cause some cases to not force autovac though an
exact calculation would have done so.  It's not worth trying to be
exactly correct here, but I don't think that we want to err in
that direction.

If we had a symbol for the max normal XID, we could instead code
like this:

    if (xidForceLimit < FirstNormalTransactionId)
        xidForceLimit = LastNormalTransactionId;

But AFAIR we don't, and I don't especially want to introduce one,
because people might be misled by it.  As you mentioned earlier,
the XID space is circular so there isn't really a "last" XID.

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: Tom LaneDate: 2011-04-02 22:10:58
Subject: Re: psql 9.1 alpha5: connection pointer is NULL
Previous:From: Dimitri FontaineDate: 2011-04-02 20:14:27
Subject: Re: Another swing at JSON

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group