On 24 March 2013 13:29, Greg Stark <st...@mit.edu> wrote:
> On Sun, Mar 24, 2013 at 11:14 AM, Simon Riggs <si...@2ndquadrant.com> wrote:
>> Proposal is to prevent SELECTs from causing more than N buffers from
>> being dirtied by hint bit setting and block cleanup.

> 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?

Yep, that's what I'm proposing.

> 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.

...and as a result, the rest of your comments don't apply at all to
the proposal. Sorry about that confusion.

-- 
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to