Re: lastOverflowedXid does not handle transaction ID wraparound
Stan Hu <stanhu@gmail.com>
From: Stan Hu <stanhu@gmail.com>
To: Alexander Korotkov <aekorotkov@gmail.com>
Cc: Simon Riggs <simon.riggs@enterprisedb.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
Andrey Borodin <x4mmm@yandex-team.ru>, Dmitry Dolgov <9erthalion6@gmail.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2021-11-03T23:27:35Z
Lists: pgsql-hackers
Good catch on doing this in ExpireAllKnownAssignedTransactionIds() as well. Thanks. Looks good to me! As Nikolay mentioned, I think this is an important bug that we are seeing in production and would appreciate a backport to v12 if possible. On Wed, Nov 3, 2021 at 3:07 PM Alexander Korotkov <aekorotkov@gmail.com> wrote: > Hi! > > On Wed, Nov 3, 2021 at 8:51 PM Simon Riggs <simon.riggs@enterprisedb.com> > wrote: > > It is however, an undocumented modularity violation. I think that is > > acceptable because of the ProcArrayLock traffic, but needs to have a > > comment to explain this at the call to > > ExpireOldKnownAssignedTransactionIds() i.e. " and potentially reset > > lastOverflowedXid", as well as a comment on the > > ExpireOldKnownAssignedTransactionIds() function. > > Thank you for your feedback. Please find the revised patch attached. > It incorporates this function comment changes altogether with minor > editings and commit message. Let me know if you have further > suggestions. > > I'm going to push this if no objections. > > ------ > Regards, > Alexander Korotkov >
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