Re: Limiting setting of hint bits by read-only queries; vacuum_delay

From: Greg Stark <stark(at)mit(dot)edu>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Limiting setting of hint bits by read-only queries; vacuum_delay
Date: 2013-03-24 13:29:55
Message-ID: CAM-w4HNY9OYgAgG6Fv_5_-Yhv7TVYFfEea2-v2QWKXKMg+uQzg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Mar 24, 2013 at 11:14 AM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> Proposal is to prevent SELECTs from causing more than N buffers from
> being dirtied by hint bit setting and block cleanup.

I think you need to clarify what you mean by this.

I'm guessing you mean that there would be a global variable somewhere
(why not a field in the executor node for the sequential scan?)
counting how many blocks were marked dirty by the current plan (why
not the whole transaction?) and once it reaches the limit subsequent
blocks would be processed normally including setting hint bits but
wouldn't mark the block dirty? (Or do you mean the hint bits wouldn't
even be set so even if the block was dirty they wouldn't be updated?)

This means that there's no limit to the number of times an in-doubt
record would have to have its xmin/xmax looked up in the clog. Every
select would have to do the same work over and over again
indefinitely.

The whole point of the hint bits is to guarantee that each update
causes a bounded amount of work. Each update transaction currently
causes one write, followed by a limited period when the transaction
status needs to be checked, followed by another write with the hint
bit set. And that's the total work caused. After that the record can
be read without consulting the clog or anything else.

--
greg

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2013-03-24 13:38:15 Re: Limiting setting of hint bits by read-only queries; vacuum_delay
Previous Message Greg Smith 2013-03-24 13:11:38 Re: Page replacement algorithm in buffer cache