pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: daveg <daveg@sonic.net>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Cc: Greg Stark <gsstark@mit.edu>
Cc: Maxim Boguk <maxim.boguk@gmail.com>
Cc: bricklen@gmail.com
Subject: Re: Re: PD_ALL_VISIBLE flag was incorrectly set happend during repeatable vacuum
Date: Tue, 08 Mar 2011 21:00:14 +0200
Message-ID: <4D767CBE.4030904@enterprisedb.com> (raw)
In-Reply-To: <20110308084956.GE21941@sonic.net>
References: <AANLkTi=xq4SV6jwA7txvrbEWocyeiU6XiTG=-zVy+7Dq@mail.gmail.com>
	<AANLkTi=Ye7AoF7_uVQfPVn-ok2VOp65mi0xU3H7kCke3@mail.gmail.com>
	<20110303071208.GA4053@sonic.net>
	<4D6F4E5D.6080507@enterprisedb.com>
	<20110304090031.GE4053@sonic.net>
	<4D710ABD.5090103@enterprisedb.com>
	<20110307235340.GA21941@sonic.net>
	<AANLkTi=54GF1MJN3FSXL2gr9xG_aB09y_taT8daUwz4Z@mail.gmail.com>
	<4D75E201.20402@enterprisedb.com>
	<4D75EAC4.7090008@enterprisedb.com>
	<20110308084956.GE21941@sonic.net>

On 08.03.2011 10:49, daveg wrote:
> On Tue, Mar 08, 2011 at 10:37:24AM +0200, Heikki Linnakangas wrote:
>> On 08.03.2011 10:00, Heikki Linnakangas wrote:
>>> Another idea is to give up on the warning when it appears that
>>> oldestxmin has moved backwards, and assume that it's actually fine. We
>>> could still warn in other cases where the flag appears to be incorrectly
>>> set, like if there is a deleted tuple on the page.
>>
>> This is probably a better idea at least in back-branches. It also
>> handles the case of twiddling vacuum_defer_cleanup_age, which tracking
>> two xmins per transactions would not handle.
>>
>> Here's a patch. I also changed the warning per Robert's suggestion.
>> Anyone see a hole in this?
>
> It would be helpful to have the dbname and schema in the message in addition
> to the relname. I added those to the original diagnostic patch as it was not
> clear that the messages were all related to the same page/table/dg.

Hmm, we don't usually include database name and schema in messages like 
this. There's a couple of other warnings in vacuum, too, that only print 
the table name. I have to admit that the database name was crucial in 
tracking this down, but in hindsight you could've added database name to 
log_line_prefix for the same effect. If you have several databases with 
same schema, that's a good idea anyway. So in the end, I decided not to 
include it.

> Also, in your comment you might mention that multiple databases are one way
> we could see oldestxmin move backwards.

Ok, I added a comment to GetOldestXmin() explaining that.

Committed. Thanks David for your help in debugging this! And thanks to 
everyone else for helping out too.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com



view thread (32+ messages)

Message-ID: <4D767CBE.4030904@enterprisedb.com>
Permalink:  ../4D767CBE.4030904@enterprisedb.com/
Also on:    postgresql.org/message-id/4D767CBE.4030904@enterprisedb.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: heikki.linnakangas@enterprisedb.com, daveg@sonic.net, pgsql-hackers@postgresql.org, gsstark@mit.edu, maxim.boguk@gmail.com, bricklen@gmail.com
  Subject: Re: Re: PD_ALL_VISIBLE flag was incorrectly set happend during repeatable vacuum
  In-Reply-To: <4D767CBE.4030904@enterprisedb.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox