Re: more descriptive message for process termination due to max_slot_wal_keep_size

Kyotaro Horiguchi <horikyota.ntt@gmail.com>

From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: tgl@sss.pgh.pa.us
Cc: bdrouvot@amazon.com, sawada.mshk@gmail.com, ashutosh.bapat.oss@gmail.com, pgsql-hackers@postgresql.org
Date: 2022-09-29T05:27:53Z
Lists: pgsql-hackers

Attachments

At Wed, 28 Sep 2022 16:30:37 -0400, Tom Lane <tgl@sss.pgh.pa.us> wrote in 
> Kyotaro Horiguchi <horikyota.ntt@gmail.com> writes:
> > Okay. the points you brought up above are sufficient grounds for not
> > doing so.  Now they are in the following format.
> 
> > LOG: terminating process 16034 to release replication slot "rep1"
> > because its restart_lsn 0/3158000 exceeds the limit by 15368192 bytes
> 
> This seems to me to be a pretty blatant violation of our first message
> style guideline [1]:

Thanks! It seems that I was waiting for a comment on that line.  I
thought that way at first but finally returned to the current message
as the result of discussion (in my memory). I will happily make the
main message shorter.

> I think you should leave the primary message alone and add a DETAIL,
> as the first version of the patch did.
> 
> The existing "invalidating slot" message is already in violation
> of this guideline, so splitting off a DETAIL from that seems
> indicated as well.

So I'm going to change the mssage as:

LOG:  terminating process %d to release replication slot \"%s\"
DETAIL:  The slot's restart_lsn %X/%X exceeds the limit by %lld bytes.
HINT:  You might need to increase max_slot_wal_keep_size.

LOG:  invalidating *replication* slot \"%s\"
DETAILS:  (ditto)
HINTS:  (ditto)

It seems that it's no longer useful to split out the first patch so I
merged them into one.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center

Commits

  1. Improve wording of log messages triggered by max_slot_wal_keep_size.