Re: Bug in autovacuum.c?

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Bug in autovacuum.c?
Date: 2011-03-31 19:14:47
Message-ID: AANLkTin9FMR=9FwJAhaWptF2xAagA8yy6=QBLFEC-5gq@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 31, 2011 at 2:59 PM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
> Bruce Momjian wrote:
>> > Yeah, I think this change would have the effect of moving the freeze
>> > limit by one (or two?) counts.  Given the moving nature of values
>> > returned by ReadNewTransactionId this would probably have no practical
>> > effect.  Still, the code as is seems more natural to me (Tom wrote this
>> > bit IIRC, not me).
>>
>> I am now thinking the code is correct --- it maps values from 0 to
>> FirstNormalTransactionId into the top of the (unsigned) xid range.
>> Unless someone objects, I will add a C comment about this behavior so
>> future readers are not confused.
>
> OK, now I think it is wrong.   :-)
>
> The effect is to map max xid + 1 to max xid -
> FirstNormalTransactionId(3) + 1, which makes the xid look like it is
> going backwards, less than max xid --- not good.

The XID space is *circular*.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2011-03-31 19:38:11 Windows build issues
Previous Message Kevin Grittner 2011-03-31 19:06:53 Re: SSI bug?