From: | "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: parallel "return query" is no good |
Date: | 2017-03-23 17:45:14 |
Message-ID: | f1c6373f-c73e-8ae9-1054-18dfa59d99b9@commandprompt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 03/23/2017 10:03 AM, Robert Haas wrote:
> On Thu, Mar 23, 2017 at 12:50 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> Commit 7aea8e4f2daa4b39ca9d1309a0c4aadb0f7ed81b allowed a parallel
>> plan to be generated when for a RETURN QUERY or RETURN QUERY EXECUTE
>> statement in a PL/pgsql block. As it turns out, the analysis that led
>> to this decision was totally wrong-headed, because the plan will
>> always be executed using SPI_cursor_fetch(portal, true, 50), which
>> will cause ExecutePlan() to get invoked with a count of 50, which will
>> cause it to run the parallel plan serially, without workers.
>> Therefore, passing CURSOR_OPT_PARALLEL_OK is a bad idea here; all it
>> can do is cause us to pick a parallel plan that's slow when executed
>> serially instead of the best serial plan.
>>
>> The attached patch fixes it. I plan to commit this and back-patch it
>> to 9.6, barring objections or better ideas.
>
> I guess the downside of back-patching this is that it could cause a
> plan change for somebody which ends up being worse. On the whole,
> serial execution of queries intended to be run in parallel isn't
> likely to work out well, but it's always possible somebody has a cases
> where it happens to be winning, and this could break it. So maybe I
> should do this only in master? Thoughts?
I think the greater good of a fix applies here. +1 to 9.6.
>
--
Command Prompt, Inc. http://the.postgres.company/
+1-503-667-4564
PostgreSQL Centered full stack support, consulting and development.
Everyone appreciates your honesty, until you are honest with them.
Unless otherwise stated, opinions are my own.
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2017-03-23 17:53:59 | Re: parallel "return query" is no good |
Previous Message | Andres Freund | 2017-03-23 17:40:04 | Re: WIP: Faster Expression Processing v4 |