Re: Resetting PGPROC atomics in ProcessInit()
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Andres Freund <andres@anarazel.de>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-11-09T04:58:36Z
Lists: pgsql-hackers
Attachments
- 0001-Fix-the-initialization-of-atomic-variables-introduce.patch (application/octet-stream) patch 0001
- 0001-Fix-the-initialization-of-atomic-variable-introduced-10.patch (application/octet-stream) patch 0001
On Thu, Nov 8, 2018 at 4:38 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > On Sun, Nov 4, 2018 at 6:30 AM Robert Haas <robertmhaas@gmail.com> wrote: > > On Sat, Oct 27, 2018 at 6:41 AM Andres Freund <andres@anarazel.de> wrote: > > > I just noticed, while working on a patch adding things to PGPROC, that > > > the group clearning patches for the proc array and clog reset atomics in > > > InitProcess(). > > > > > > I'm not a big fan of that, because it means that it's not safe to look > > > at the atomics of backends that aren't currently in use. Is there any > > > reason to not instead initialize them in InitProcGlobal() and just > > > assert in InitProcess() that they're 0? If they're not, we'd be in deep > > > trouble anyway, no? > > > > I think you are correct. I think it would be better in general for > > InitProcess() to Assert() rather than reinitializing. > > > > Okay, changed the code as per Andres's and your suggestion. Do you > think the attached change makes sense? I think we should backpatch > this. > For 10 and 9.6, we need a slightly different patch as the change of group clog update went in 11. Attached are the patches for the same, note that there is a slight change in the commit message for the patch written for 10 and 9.6. I will wait for a few days (till Tuesday@8:00 AM IST) to see if somebody has any comments or want to review before I push. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Commits
-
Fix the initialization of atomic variables introduced by the
- d4d9f21b64d4 11.2 landed
- a53bc135fb07 12.0 landed
-
Fix the initialization of atomic variable introduced by the
- 1a8bde490c98 9.6.12 landed