Thread: Curious - "logical replication launcher" (PID) existed with exit code 1

Curious - "logical replication launcher" (PID) existed with exit code 1

From
"David G. Johnston"
Date:
In the following log file the presence of "exit code 1" after performing a "pg_ctl stop -m smart" shutdown is bugging me.  I take it most people would just ignore it as noise but a clean install from source, startup, and shutdown would ideally not result in a non-zero exit code being sent to the log.  But I've decided to stop trying to track it down on my own and at least mention it here.  It seems like f669c09989 probably introduced the behavior, and I can see how "restarting" is generally a good thing, but we are not going to restart the launcher during a clean shutdown and the exit code isn't being done conditionally.

2020-06-23 19:49:07.177 UTC [2772] LOG:  starting PostgreSQL 14devel on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit
2020-06-23 19:49:07.178 UTC [2772] LOG:  listening on IPv6 address "::1", port 5432
2020-06-23 19:49:07.178 UTC [2772] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2020-06-23 19:49:07.189 UTC [2772] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2020-06-23 19:49:07.260 UTC [2773] LOG:  database system was shut down at 2020-06-18 15:39:29 UTC
2020-06-23 19:49:07.373 UTC [2772] LOG:  database system is ready to accept connections
2020-06-23 20:01:59.014 UTC [2772] LOG:  received smart shutdown request
2020-06-23 20:01:59.016 UTC [2772] LOG:  background worker "logical replication launcher" (PID 2779) exited with exit code 1
2020-06-23 20:01:59.017 UTC [2774] LOG:  shutting down
2020-06-23 20:01:59.024 UTC [2772] LOG:  database system is shut down

David J.

Re: Curious - "logical replication launcher" (PID) existed with exit code 1

From
Peter Eisentraut
Date:
On 2020-06-23 22:48, David G. Johnston wrote:
> In the following log file the presence of "exit code 1" after performing 
> a "pg_ctl stop -m smart" shutdown is bugging me.  I take it most people 
> would just ignore it as noise but a clean install from source, startup, 
> and shutdown would ideally not result in a non-zero exit code being sent 
> to the log.  But I've decided to stop trying to track it down on my own 
> and at least mention it here.  It seems like f669c09989 probably 
> introduced the behavior, and I can see how "restarting" is generally a 
> good thing, but we are not going to restart the launcher during a clean 
> shutdown and the exit code isn't being done conditionally.

Yeah, this is just a consequence of how background workers work.  One 
would need to adjust the handling of signaling, restart flags, exit 
codes, etc. to be able to do this more elegantly.  It's probably not 
that hard, but it needs some leg work to go through all the cases and 
issues.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services