Обсуждение: Re: pgsql: Fix parallel index and index-only scans to fall back toserial.
Re: pgsql: Fix parallel index and index-only scans to fall back toserial.
От
Heikki Linnakangas
Дата:
Hi! I just bumped into this comment, from commit 09529a70bb5, and I can't make sense of it: > + /* > + * We reach here if the index only scan is not parallel, or if we're > + * executing a index only scan that was intended to be parallel > + * serially. > + */ What was that intended to say? - Heikki
Re: pgsql: Fix parallel index and index-only scans to fall back to serial.
От
"David G. Johnston"
Дата:
Hi!
I just bumped into this comment, from commit 09529a70bb5, and I can't make sense of it:+ /*
+ * We reach here if the index only scan is not parallel, or if we're
+ * executing a index only scan that was intended to be parallel
+ * serially.
+ */
What was that intended to say?
I think...
...or if we're serially executing a[n] index only scan that was intended to be [executed in] parallel
s/intended/planned/ ?
David J.
On Fri, Jul 13, 2018 at 2:22 PM, Heikki Linnakangas <hlinnaka@iki.fi> wrote: > I just bumped into this comment, from commit 09529a70bb5, and I can't make > sense of it: > >> + /* >> + * We reach here if the index only scan is not parallel, >> or if we're >> + * executing a index only scan that was intended to be >> parallel >> + * serially. >> + */ > > > What was that intended to say? There are two ways that you can reach that code. One is that you have the thing that shows up in EXPLAIN output as "Index-Only Scan". The other is that you have the thing that shows up in EXPLAIN output as "Parallel Index-Only Scan", but you didn't get any workers, so now you're falling back to running what was intended to be a parallel plan without parallelism i.e. serially. The comment is intended to alert you to the fact that an intended-as-parallel scan can end up here in corner cases where the plan doesn't end up being parallel. We've had some difficulty in consistently getting that case correct. If you decide to rephase the comment for clarity, note that there are three other near-copies of it cf. git grep -C4 'We reach here if' -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Re: pgsql: Fix parallel index and index-only scans to fall back toserial.
От
Heikki Linnakangas
Дата:
On 14/07/18 00:56, Robert Haas wrote: > On Fri, Jul 13, 2018 at 2:22 PM, Heikki Linnakangas <hlinnaka@iki.fi> wrote: >> I just bumped into this comment, from commit 09529a70bb5, and I can't make >> sense of it: >> >>> + /* >>> + * We reach here if the index only scan is not parallel, >>> or if we're >>> + * executing a index only scan that was intended to be >>> parallel >>> + * serially. >>> + */ >> >> >> What was that intended to say? > > There are two ways that you can reach that code. One is that you have > the thing that shows up in EXPLAIN output as "Index-Only Scan". The > other is that you have the thing that shows up in EXPLAIN output as > "Parallel Index-Only Scan", but you didn't get any workers, so now > you're falling back to running what was intended to be a parallel plan > without parallelism i.e. serially. The comment is intended to alert > you to the fact that an intended-as-parallel scan can end up here in > corner cases where the plan doesn't end up being parallel. We've had > some difficulty in consistently getting that case correct. Ah, gotcha. I changed that (and the other copies) per David's suggestion. - Heikki