From: | Amit Langote <amitlangote09(at)gmail(dot)com> |
---|---|
To: | Youki Shiraishi <shiraishi(at)computer(dot)org> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Add comments for a postgres program in bootstrap mode |
Date: | 2019-09-26 15:09:45 |
Message-ID: | CA+HiwqFimOFEPAeZ=u49=ZawVGdOM0Hw52wUcMxOCibidXB67A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi Shiraishi-san,
On Thu, Sep 26, 2019 at 6:32 PM Youki Shiraishi <shiraishi(at)computer(dot)org> wrote:
> On Thu, Sep 26, 2019 at 5:38 PM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> > On Thu, Sep 26, 2019 at 3:06 PM Youki Shiraishi <shiraishi(at)computer(dot)org> wrote:
> > > I have just started to read the PostgreSQL code and found a lack of comments for a postgres backend program in bootstrap mode.
> > > When I saw the --boot option implemented in src/backend/main/main.c at first time, I did not understand why the --boot option is not documented and what it is used for.
> > > The only way to know these things is to type `grep -r '\--boot' .` on a project root.
> > > It is easy to see that the --boot option is used in initdb for some historical reasons, but it is painful for a beginner like me.
> > > I believe the attached patch which adds a few comments might help a beginner.
> >
> > Thanks for the patch. It might be a good idea to demystify this
> > secret --boot option.
> >
> > + /* Bootstrap mode for initdb */
> > if (argc > 1 && strcmp(argv[1], "--boot") == 0)
> > AuxiliaryProcessMain(argc, argv); /* does not return */
> > else if (argc > 1 && strcmp(argv[1], "--describe-config") == 0)
> >
> > How about expanding that comment just a little bit, say:
> >
> > /*
> > * Bootstrapping is handled by AuxiliaryProcessMain() for historic
> > * reasons.
> > */
Do you any thoughts on this suggestion?
> > @@ -190,7 +190,8 @@ static IndexList *ILHead = NULL;
> > * AuxiliaryProcessMain
> > *
> > * The main entry point for auxiliary processes, such as the bgwriter,
> > - * walwriter, walreceiver, bootstrapper and the shared memory checker code.
> > + * walwriter, walreceiver, postgres program in bootstrap mode and the
> > + * shared memory checker code.
> >
> > This change may not be necessary, because, bootstrapper is a good
> > short name for 'postgres program in bootstrap mode'. Also, this name
> > is similar in style to the names of other auxiliary processes.
>
> Thank you for reviewing my patch.
> My concern is that the word 'bootstrapper' is ambiguous.
I was saying that 'bootstrapper' sounds like 'bgwriter', 'walwriter',
etc., so fits well in that sentence. It would've been OK if those
things were also written as 'postgres program that does background
buffer writing', etc.
Thanks,
Amit
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2019-09-26 15:12:51 | Re: Unstable select_parallel regression output in 12rc1 |
Previous Message | Alvaro Herrera | 2019-09-26 14:56:21 | Re: Auxiliary Processes and MyAuxProc |