Re: bad logging around broken restore_command

From: Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>
To: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: bad logging around broken restore_command
Date: 2020-02-06 14:23:42
Message-ID: eb56fe08-944f-1f81-9879-fd7a89602a9b@oss.nttdata.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2020/02/06 1:10, Jeff Janes wrote:
> If the restore command claims to have succeeded, but fails to have created a file with the right name (due to typos or escaping or quoting issues, for example), no complaint is issued at the time, and it then fails later with a relatively uninformative error message like "could not locate required checkpoint record".
>
>     if (rc == 0)
>     {
>         /*
>          * command apparently succeeded, but let's make sure the file is
>          * really there now and has the correct size.
>          */
>         if (stat(xlogpath, &stat_buf) == 0)
>         {......
>         }
>         else
>         {
>             /* stat failed */
>             if (errno != ENOENT)
>                 ereport(FATAL,
>                         (errcode_for_file_access(),
>                          errmsg("could not stat file \"%s\": %m",
>                                 xlogpath)));
>         }
>
> I don't see why ENOENT is thought to deserve the silent treatment.  It seems weird that success gets logged ("restored log file \"%s\" from archive"), but one particular type of unexpected failure does not.

Agreed.

> I've attached a patch which emits a LOG message for ENOENT.

Isn't it better to use "could not stat file" message even in ENOENT case?
If yes, something like message that you used in the patch should be
logged as DETAIL or HINT message. So, what about the attached patch?

Regards,

--
Fujii Masao
NTT DATA CORPORATION
Advanced Platform Technology Group
Research and Development Headquarters

Attachment Content-Type Size
restore_log_fujii.patch text/plain 751 bytes

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2020-02-06 14:44:07 Re: pgsql: Prevent running pg_basebackup as root
Previous Message Masahiko Sawada 2020-02-06 14:01:14 Re: Tid scan increments value of pg_stat_all_tables.seq_scan. (but not seq_tup_read)