I found a message I've never seen before in VACUUM, its:
NOTICE:  Too old parent tuple found - can't continue repair_frag

The version is Postgresql 7.2.1.

The problem occurs in vacuum.c, around line 1700, but the interesting part is the comment around:
/*
* Read above about cases when
* !ItemIdIsUsed(Citemid) (child item is
* removed)... Due to the fact that at the moment
* we don't remove unuseful part of update-chain,
* it's possible to get too old parent row here.
* Like as in the case which caused this problem,
* we stop shrinking here. I could try to find
* real parent row but want not to do it because
* of real solution will be implemented anyway,
* latter, and we are too close to 6.5 release. -
* vadim 06/11/99
*/

This sounds like a solution should be available, but it seems to happen anyway. Yesterday I've found no way to fix this problem,
but today it's not reproduceable any more. Might this notice indicate a serious problem?

Best regards,
	Mario Weilguni


Fri, 1 Nov 2002 09:38:31 +0100
Mario Weilguni <mweilguni@sime.com>
Interesting VACUUM notice
On Fri, Nov 01, 2002 at 09:38:31AM +0100, Mario Weilguni wrote:
> I found a message I've never seen before in VACUUM, its:
> NOTICE:  Too old parent tuple found - can't continue repair_frag
> 
> The version is Postgresql 7.2.1.

I thought this was fixed in 7.2.2 or 7.2.3?

A
-- 
----
Andrew Sullivan                         204-4141 Yonge Street
Liberty RMS                           Toronto, Ontario Canada
<andrew@libertyrms.info>                              M2P 2A8
                                         +1 416 646 3304 x110


Fri, 1 Nov 2002 10:30:09 -0500
Andrew Sullivan <andrew@libertyrms.info>
Re: Interesting VACUUM notice
Mario Weilguni <mweilguni@sime.com> writes:
> I found a message I've never seen before in VACUUM, its:
> NOTICE:  Too old parent tuple found - can't continue repair_frag

> This sounds like a solution should be available, but it seems to
> happen anyway. Yesterday I've found no way to fix this problem, but
> today it's not reproduceable any more. Might this notice indicate a
> serious problem?

No; it's just an unimplemented case in VACUUM FULL's tuple-chain-moving
code.  The problem disappears when the chain stops being interesting --
that is, as soon as existing transactions finish so that no transaction
can see the older states of that row anymore.  Meanwhile, the only
consequence is that VACUUM may not be able to shrink the table as much
as it otherwise could've.

I downgraded all those "can't continue repair_frag" notices to DEBUG1
level yesterday, since they are expected (though improbable) cases.

			regards, tom lane

Fri, 01 Nov 2002 10:39:09 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: Interesting VACUUM notice 
Andrew Sullivan <andrew@libertyrms.info> writes:
> On Fri, Nov 01, 2002 at 09:38:31AM +0100, Mario Weilguni wrote:
>> I found a message I've never seen before in VACUUM, its:
>> NOTICE:  Too old parent tuple found - can't continue repair_frag
>> 
>> The version is Postgresql 7.2.1.

> I thought this was fixed in 7.2.2 or 7.2.3?

Given that the problem went away by itself, I think he actually was
seeing an incomplete tuple chain, and not the false-chain cases we
discovered recently.

			regards, tom lane

Fri, 01 Nov 2002 11:20:12 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: Interesting VACUUM notice 