Re: BUG #17903: There is a bug in the KeepLogSeg()

Kyotaro Horiguchi <horikyota.ntt@gmail.com>

From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: nathandbossart@gmail.com
Cc: zhjwpku@gmail.com, xu.xw2008@163.com, pgsql-bugs@lists.postgresql.org
Date: 2023-04-28T06:21:49Z
Lists: pgsql-bugs
At Thu, 27 Apr 2023 14:47:46 -0700, Nathan Bossart <nathandbossart@gmail.com> wrote in 
> On Tue, Apr 25, 2023 at 01:14:52PM +0900, Kyotaro Horiguchi wrote:
> > At Mon, 24 Apr 2023 12:14:52 -0700, Nathan Bossart <nathandbossart@gmail.com> wrote in 
> >> When determining the oldest segment that must be kept for
> >> replication slots, KeepLogSeg() might calculate a segment number
> >> ahead of the one for the LSN given to the function.  This causes
> > 
> > Maybe the KeepLogSeg() is a mistake of
> > XLogGetReplicationSlotMinimumLSN()?
> 
> I adjusted the commit message to call out that function explicitly.  Also,
> I decided to go with the "keep < recptr" approach since there's no reason
> to do anything in that block otherwise.

That works, too. Thanks!

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Commits

  1. Prevent underflow in KeepLogSeg().