From: | Jeff Davis <pgsql(at)j-davis(dot)com> |
---|---|
To: | "Jim C(dot) Nasby" <jim(at)nasby(dot)net> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Simon Riggs <simon(at)2ndquadrant(dot)com>, Gregory Stark <stark(at)enterprisedb(dot)com>, Heikki Linnakangas <heikki(at)enterprisedb(dot)com>, "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>, Hannu Krosing <hannu(at)skype(dot)net>, Luke Lonergan <llonergan(at)greenplum(dot)com>, pgsql-hackers(at)postgresql(dot)org, Eng <eng(at)intranet(dot)greenplum(dot)com> |
Subject: | Re: old synchronized scan patch |
Date: | 2006-12-07 22:00:40 |
Message-ID: | 1165528840.2048.209.camel@dogma.v10.wvs |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, 2006-12-07 at 00:32 -0600, Jim C. Nasby wrote:
> On Thu, Dec 07, 2006 at 12:46:34AM -0500, Tom Lane wrote:
> > Jeff Davis <pgsql(at)j-davis(dot)com> writes:
> > > Even if there are 50 in the pack, and 2 trailing, at any point in time
> > > it's more likely that the last block number reported was reported by a
> > > trailing scan. The pack might all report at once when they finally get
> > > the block, but will be promptly overwritten by the continuous stream of
> > > reports from trailing scans.
> >
> > > However, if my analysis was really true, one might wonder how those
> > > scans got that far behind in the first place.
> >
> > Yah. Something I was idly wondering about: suppose we teach ReadBuffer
> > to provide an indication whether it had to issue an actual read() or
> > found the block in cache? Could it be useful to not report the block
> > location to the hint area if we had to actually read()? That would
> > eliminate the immediate "pack leader" from the equation. The problem
> > is that it seems to break things for the case of the first follower
> > joining a seqscan, because the original leader would never report.
> > Anyone see the extra idea needed to make this work?
>
> The first reader won't find an entry in shared memory, so it will know
> it's the first. It could then either always update, or it could check to
That requires that scans clear the hint when they finish, right? I don't
think that would be difficult, but my current patch doesn't do that.
> see if anyone else has updated shared memory behind it's back; at that
> point it could switch to only updating on an actual read.
Interesting idea.
Regards,
Jeff Davis
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-12-07 23:05:09 | Re: Dead code in _bt_split? |
Previous Message | Jeff Davis | 2006-12-07 20:18:44 | Re: old synchronized scan patch |