Re: Isn't it better with "autovacuum worker...." instead of "worker took too long to start; canceled" specific to "auto - Mailing list pgsql-hackers

From Kyotaro Horiguchi
Subject Re: Isn't it better with "autovacuum worker...." instead of "worker took too long to start; canceled" specific to "auto
Date
Msg-id 20211028.104143.904480812671076440.horikyota.ntt@gmail.com
Whole thread Raw
In response to Isn't it better with "autovacuum worker...." instead of "worker took too long to start; canceled" specific to "auto  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
Responses Re: Isn't it better with "autovacuum worker...." instead of "worker took too long to start; canceled" specific to "auto  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
List pgsql-hackers
At Wed, 27 Oct 2021 14:26:11 -0500, Justin Pryzby <pryzby@telsasoft.com> wrote in 
> On Wed, Oct 27, 2021 at 07:05:10PM +0000, Bossart, Nathan wrote:
> > My vote is to just change it to
> > 
> >         ereport(WARNING,
> >                 (errmsg("autovacuum worker took too long to start; canceled")));
> > 
> > and call it a day.  If we wanted to add errdetail(), I think we should
> > make sure it is providing useful context, but I'm not sure what that
> > might look like.
> 
> I think that's fine.

+1

> Note that the backend_type is illuminating for those who use CSV logs, or use
> P13+ and log_line_prefix += %b (see 70a7b4776).
> 
> session_line           | 1
> error_severity         | WARNING
> message                | worker took too long to start; canceled
> backend_type           | autovacuum launcher

Yeah, the additional "autovacuum" is not noisy at all even in that
context. Some other messages are prefixed with "autovacuum".

   "could not fork autovacuum worker process: %m"
   "autovacuum worker started without a worker entry"

By a quick look all occurances of "laucher" are prefixed with
"autovacuum" or "logical replcaion", which seems fine.

As a related topic, autovacuum.c has another use of bare "worker"s.

>    tmpcxt = AllocSetContextCreate(CurrentMemoryContext,
>                                   "Start worker tmp cxt",
>                                   ALLOCSET_DEFAULT_SIZES);

>    AutovacMemCxt = AllocSetContextCreate(TopMemoryContext,
>                                          "AV worker",
>                                          ALLOCSET_DEFAULT_SIZES);

I'm not sure the former needs to be fixed, but the latter is actually
visible to users via pg_log_backend_memory_contexts().

LOG:  level: 1; AV worker: 8192 total in 1 blocks; 7928 free (0 chunks); 264 used

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



pgsql-hackers by date:

Previous
From: Chapman Flack
Date:
Subject: Re: [PATCH v2] src/port/snprintf.c: Optimize the common base=10 case in fmtint
Next
From: Michael Paquier
Date:
Subject: Re: TAP test for recovery_end_command