Re: lastOverflowedXid does not handle transaction ID wraparound
Kyotaro Horiguchi <horikyota.ntt@gmail.com>
From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: 9erthalion6@gmail.com
Cc: x4mmm@yandex-team.ru, stanhu@gmail.com,
pgsql-hackers@lists.postgresql.org
Date: 2021-10-21T04:01:40Z
Lists: pgsql-hackers
At Wed, 20 Oct 2021 13:48:33 +0200, Dmitry Dolgov <9erthalion6@gmail.com> wrote in > > On Wed, Oct 20, 2021 at 04:00:35PM +0500, Andrey Borodin wrote: > > > 17 окт. 2021 г., в 21:55, Dmitry Dolgov <9erthalion6@gmail.com> написал(а): > > > I wonder what would be side > > > effects of clearing it when the snapshot is not suboverfloved anymore? > > > > I think we should just invalidate lastOverflowedXid on every XLOG_RUNNING_XACTS if subxid_overflow == false. I can't find a reason not to do so. > > From what I understand that was actually the case, lastOverflowedXid was > set to InvalidTransactionId in ProcArrayApplyRecoveryInfo if > subxid_overflow wasn't set. Looks like 10b7c686e52a6d1bb has changed it, > to what I didn't pay attention originally. Unfortunately(?), that doesn't happen once standbyState reaches STANDBY_SNAPSHOT_READY. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
Commits
-
Reset lastOverflowedXid on standby when needed
- 05e6e78c1840 15.0 landed
- b0f6bd48f35d 14.1 landed
- 7381b79ade47 9.6.24 landed
- 774d00573966 10.19 landed
- 691c0df73a74 11.14 landed
- 8f779a1a3eb6 12.9 landed
- e1fee28a0441 13.5 landed
-
Fix variable shadowing in procarray.c.
- dc899146dbf0 15.0 cited
-
Move InRecovery and standbyState global vars to xlogutils.c.
- 317632f3073f 15.0 cited