Re: pg13dev: explain partial, parallel hashagg, and memory use

From: David Rowley <dgrowleyml(at)gmail(dot)com>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Jeff Davis <jdavis(at)postgresql(dot)org>
Subject: Re: pg13dev: explain partial, parallel hashagg, and memory use
Date: 2020-08-05 02:27:26
Message-ID: CAApHDvo_rw8tix0PPRUTaaAjfm9uU_WHfmRy=4X3eSSpSqr5FA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 5 Aug 2020 at 14:13, Justin Pryzby <pryzby(at)telsasoft(dot)com> wrote:
> Also odd (to me). If I encourage more workers, there are "slots" for each
> "planned" worker, even though fewer were launched:

Looking at explain.c for "num_workers; " (including the final space at
the end), looking at each for loop that loops over each worker, quite
a number of those locations have a condition that skips the worker.

For example, show_sort_info() does

if (sinstrument->sortMethod == SORT_TYPE_STILL_IN_PROGRESS)
continue; /* ignore any unfilled slots */

So maybe Hash Agg should be doing something similar. Additionally,
maybe it should not show the leader details if the leader didn't help.

David

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2020-08-05 03:00:01 Re: Keep elog(ERROR) and ereport(ERROR) calls in the cold path
Previous Message Alvaro Herrera 2020-08-05 02:14:35 Re: [DOC] Document concurrent index builds waiting on each other