Re: expose parallel leader in CSV and log_line_prefix

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Julien Rouhaud <rjuju123(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: expose parallel leader in CSV and log_line_prefix
Date: 2020-07-21 04:12:31
Message-ID: 20200721041231.GD5748@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jul 21, 2020 at 12:51:45PM +0900, Michael Paquier wrote:
> And I'd rather keep the simple suggestion of upthread to leave the
> field as NULL for the parallel group leader with a PID match but not a
> backend type check so as this could be useful for other types of
> processes.

The documentation could talk about either:

1) "lock group leader" - low-level, raw view of the internal data structure
(with a secondary mention that "for a parallel process, this is its parallel
leader).
2) "parallel leaders" high-level, user-facing, "cooked" view;

Right now it doesn't matter, but it seems that if we document the high-level
"parallel leader", then we don't need to accomodate future uses (at least until
the future happens).

> diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml
> index dc49177c78..15c598b2a5 100644
> --- a/doc/src/sgml/monitoring.sgml
> +++ b/doc/src/sgml/monitoring.sgml
> @@ -687,12 +687,9 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
> <structfield>leader_pid</structfield> <type>integer</type>
> </para>
> <para>
> - Process ID of the parallel group leader if this process is or
> - has been involved in parallel query, or null. This field is set
> - when a process wants to cooperate with parallel workers, and
> - remains set as long as the process exists. For a parallel group leader,
> - this field is set to its own process ID. For a parallel worker,
> - this field is set to the process ID of the parallel group leader.
> + Process ID of the parallel group leader if this process is involved
> + in parallel query, or null. For a parallel group leader, this field
> + is <literal>NULL</literal>.
> </para></entry>
> </row>

FWIW , I prefer something like my earlier phrase:

| For a parallel worker, this is the Process ID of its leader process. Null
| for processes which are not parallel workers.

--
Justin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Justin Pryzby 2020-07-21 04:32:58 Re: shared tempfile was not removed on statement_timeout
Previous Message Michael Paquier 2020-07-21 03:51:45 Re: expose parallel leader in CSV and log_line_prefix