Re: expose parallel leader in CSV and log_line_prefix - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: expose parallel leader in CSV and log_line_prefix
Date
Msg-id 20200717212721.GA3827@alvherre.pgsql
Whole thread Raw
In response to Re: expose parallel leader in CSV and log_line_prefix  (Justin Pryzby <pryzby@telsasoft.com>)
Responses Re: expose parallel leader in CSV and log_line_prefix  (Justin Pryzby <pryzby@telsasoft.com>)
List pgsql-hackers
On 2020-Jul-17, Justin Pryzby wrote:

> Ok, but should we then consider changing pg_stat_activity for consistency ?
> Probably in v13 to avoid changing it a year later.
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=b025f32e0b5d7668daec9bfa957edf3599f4baa8
> 
> I think the story is that we're exposing to the user a "leader pid" what's
> internally called (and used as) the "lock group leader", which for the leader
> process is set to its own PID.  But I think what we're exposing as leader_pid
> will seem like an implementation artifact to users.

IMO it *is* an implementation artifact if, as you say, the leader PID
remains set after the parallel query is done.  I mentioned the pgbouncer
case before: if you run a single parallel query, then the process
remains a "parallel leader" for days or weeks afterwards even if it
hasn't run a parallel query ever since.  That doesn't sound great to me.

I think it's understandable and OK if there's a small race condition
that means you report a process as a leader shortly before or shortly
after a parallel query is actually executed.  But doing so until backend
termination seems confusing as well as useless.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Justin Pryzby
Date:
Subject: Re: expose parallel leader in CSV and log_line_prefix
Next
From: Thomas Munro
Date:
Subject: Re: renaming configure.in to configure.ac