Thread
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix missing initializations of MyProc.delayChkptEnd
- a9c3472e02c8 11.21 landed
- 9920552e1e4e 12.16 landed
- 37236ca06945 13.12 landed
- c6043fcbb238 14.9 landed
-
Rethink the delay-checkpoint-end mechanism in the back-branches.
- 10520f434687 14.3 cited
-
Fix missing initialization of delayChkptEnd
suyu.cmj <mengjuan.cmj@alibaba-inc.com> — 2023-06-05T11:44:05Z
Hi, all I got a coredump when testing with the REL_14_STABLE branch, which is as below: I noticed that in commit 10520f4346876aad4941797c2255a21bdac74739, int delayChkpt has been changed back to bool delayChkpt + bool delayChkptEnd. However, the initialization to delayChkptEnd is missed in function InitProcess. When autovacuum_proc1 is in RelationTruncate, the delayChkptEnd will be set as true. If autovacuum_proc1 receives a cancel signal and handles it at this time, autovacuum_proc1 will exit without reseting delayChkptEnd in its error handling process. After that, if autovacuum_proc2 reuses this PGPROC structure, the above error will occur. I add a patch to fix this bug in the attachment, hope you can check it. Thanks & Best Regard
-
回复:Fix missing initialization of delayChkptEnd
suyu.cmj <mengjuan.cmj@alibaba-inc.com> — 2023-06-05T16:39:47Z
Hi, all. I updated the patch for this bugfix, the previous one missed the modification of function InitAuxiliaryProcess, please check the new patch. Thanks & Best Regard ------------------------------------------------------------------ 发件人:蔡梦娟(玊于) <mengjuan.cmj@alibaba-inc.com> 发送时间:2023年6月5日(星期一) 19:44 收件人:pgsql-hackers <pgsql-hackers@lists.postgresql.org> 抄 送:robertmhaas <robertmhaas@gmail.com> 主 题:Fix missing initialization of delayChkptEnd Hi, all I got a coredump when testing with the REL_14_STABLE branch, which is as below: I noticed that in commit 10520f4346876aad4941797c2255a21bdac74739, int delayChkpt has been changed back to bool delayChkpt + bool delayChkptEnd. However, the initialization to delayChkptEnd is missed in function InitProcess. When autovacuum_proc1 is in RelationTruncate, the delayChkptEnd will be set as true. If autovacuum_proc1 receives a cancel signal and handles it at this time, autovacuum_proc1 will exit without reseting delayChkptEnd in its error handling process. After that, if autovacuum_proc2 reuses this PGPROC structure, the above error will occur. I add a patch to fix this bug in the attachment, hope you can check it. Thanks & Best Regard
-
Re: 回复:Fix missing initialization of delayChkptEnd
Kyotaro Horiguchi <horikyota.ntt@gmail.com> — 2023-06-06T06:13:14Z
Good catch! At Tue, 06 Jun 2023 00:39:47 +0800, "蔡梦娟(玊于)" <mengjuan.cmj@alibaba-inc.com> wrote in > Hi, all. I updated the patch for this bugfix, the previous one > missed the modification of function InitAuxiliaryProcess, please > check the new patch. After a quick check through the 14 tree, then compaing with the corresponding parts of 15, it hit me that ProcArrayClearTransaction() needs an assertion on the variable. Other than that, the patch looks good to me. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
-
Re: 回复:Fix missing initialization of delayChkptEnd
Michael Paquier <michael@paquier.xyz> — 2023-06-06T11:19:12Z
On Tue, Jun 06, 2023 at 03:13:14PM +0900, Kyotaro Horiguchi wrote: > After a quick check through the 14 tree, then compaing with the > corresponding parts of 15, it hit me that ProcArrayClearTransaction() > needs an assertion on the variable. Other than that, the patch looks > good to me. Yeah, it feels wrong to check only after delayChkpt in this code path. I'll look at that tomorrow. -- Michael
-
回复:回复:Fix missing initialization of delayChkptEnd
suyu.cmj <mengjuan.cmj@alibaba-inc.com> — 2023-06-07T02:25:25Z
In my new patch for pg14, I add the assertion on delayChkptEnd in ProcArrayClearTransaction, and also add patches for release branch from 10 to 13, please check. Thanks & Best Regard ------------------------------------------------------------------ 发件人:Kyotaro Horiguchi <horikyota.ntt@gmail.com> 发送时间:2023年6月6日(星期二) 14:13 收件人:蔡梦娟(玊于) <mengjuan.cmj@alibaba-inc.com> 抄 送:pgsql-hackers <pgsql-hackers@lists.postgresql.org>; robertmhaas <robertmhaas@gmail.com> 主 题:Re: 回复:Fix missing initialization of delayChkptEnd Good catch! At Tue, 06 Jun 2023 00:39:47 +0800, "蔡梦娟(玊于)" <mengjuan.cmj@alibaba-inc.com> wrote in > Hi, all. I updated the patch for this bugfix, the previous one > missed the modification of function InitAuxiliaryProcess, please > check the new patch. After a quick check through the 14 tree, then compaing with the corresponding parts of 15, it hit me that ProcArrayClearTransaction() needs an assertion on the variable. Other than that, the patch looks good to me. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
-
Re: 回复:回复:Fix missing initialization of delayChkptEnd
Michael Paquier <michael@paquier.xyz> — 2023-06-11T01:36:09Z
On Wed, Jun 07, 2023 at 10:25:25AM +0800, 蔡梦娟(玊于) wrote: > In my new patch for pg14, I add the assertion on delayChkptEnd in > ProcArrayClearTransaction, and also add patches for release branch > from 10 to 13, please check. Thanks for the patches. I finally got back to that, double-checked all the spots where these flags are used on all the branches, and that seems right to me. So applied across 11~14. -- Michael