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

Re: [COMMITTERS] pgsql: Avoid marking buffer dirty when VACUUM has no work to do.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [COMMITTERS] pgsql: Avoid marking buffer dirty when VACUUM has no work to do.
Date: 2011-11-22 02:32:44
Message-ID: 29804.1321929164@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-committerspgsql-hackers
I wrote:
> Simon Riggs <simon(at)2ndQuadrant(dot)com> writes:
>> Avoid marking buffer dirty when VACUUM has no work to do.
>> When wal_level = 'hot_standby' we touched the last page of the
>> relation during a VACUUM, even if nothing else had happened.
>> That would alter the LSN of the last block and set the mtime
>> of the relation file unnecessarily. Noted by Thom Brown.

> This doesn't look right to me --- you have not accounted for the
> possibility that btpo_cycleid or BTP_HAS_GARBAGE is changed.

> Also, I'm confused about the business of not setting the LSN.  Thom
> claimed that he was seeing the page not change at all (or at least
> md5sum of the file didn't change) despite mtime changing.  If we'd
> been plastering a new LSN on the page each time, then that should
> certainly not have been possible.  So I now think maybe we've
> mis-analyzed what was happening in his example.

> I think this requires more careful analysis.

Ping?  If you don't respond, I'm going to take it on my own authority to
revert this patch, because it's definitely broken as-is, and I don't
think the consequences of not updating the page LSN have been thought
through either.

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2011-11-22 02:41:53
Subject: Re: Removing postgres -f command line option
Previous:From: Tom LaneDate: 2011-11-22 02:24:38
Subject: Re: Removing postgres -f command line option

pgsql-committers by date

Next:From: Simon RiggsDate: 2011-11-22 09:36:52
Subject: Re: [COMMITTERS] pgsql: Avoid marking buffer dirty when VACUUM has no work to do.
Previous:From: Tom LaneDate: 2011-11-21 21:20:13
Subject: pgsql: More code review for rangetypes patch.

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