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

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: pryzby(at)telsasoft(dot)com
Cc: bossartn(at)amazon(dot)com, bharath(dot)rupireddyforpostgres(at)gmail(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Isn't it better with "autovacuum worker...." instead of "worker took too long to start; canceled" specific to "auto
Date: 2021-10-28 01:41:43
Message-ID: 20211028.104143.904480812671076440.horikyota.ntt@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

At Wed, 27 Oct 2021 14:26:11 -0500, Justin Pryzby <pryzby(at)telsasoft(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2021-10-28 01:50:00 pgsql: Add TAP test for archive_cleanup_command and recovery_end_comman
Previous Message Chapman Flack 2021-10-27 23:50:45 Re: [PATCH v2] src/port/snprintf.c: Optimize the common base=10 case in fmtint