Re: Explain buffers wrong counter with parallel plans

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Adrien Nayrat <adrien.nayrat@anayrat.info>, Andres Freund <andres@anarazel.de>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2018-06-10T05:18:28Z
Lists: pgsql-hackers
On Fri, Jun 8, 2018 at 11:34 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Wed, Jun 6, 2018 at 12:08 PM, Alvaro Herrera
> <alvherre@2ndquadrant.com> wrote:
>> So, apparently this is not a Postgres 11 open item, but rather a bug
>> that goes back to pg10.  However, maybe it would be worth fixing soon
>> anyway?  In particular, if we want to perturb the explain output as
>> suggested upthread, maybe *that* should be considered an open item?
>>
>> Anyway, this has stalled for a month now.
>
> Yeah.  I'm not willing to do anything here unilaterally.  There is
> neither universal agreement that there is a problem here nor agreement
> on a fix.
>

Right, I think we have following options:
(a) Come up with a solution which allows percolating the buffer usage
and or similar stats to upper nodes in all cases.
(b) Allow it to work for some of the cases as it was earlier.

I think (b) can cause confusion and could lead to further questions on
which specific cases will it work and for which it won't work.  If we
think (a) is a reasonable approach, then we can close this item with a
conclusion as a work item for future and OTOH if we think option (b)
is the better way to deal with it, then we can come up with a patch to
do so.  My inclination is to go with option (a), but I don't mind if
the decision is to choose option (b).

-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com


Commits

  1. Adjust comment atop ExecShutdownNode.

  2. Prohibit shutting down resources if there is a possibility of back up.

  3. Fix buffer usage stats for parallel nodes.

  4. Match the buffer usage tracking for leader and worker backends.

  5. Improve division of labor between execParallel.c and nodeGather[Merge].c.