Re: Add comments for a postgres program in bootstrap mode

From: Youki Shiraishi <shiraishi(at)computer(dot)org>
To: Amit Langote <amitlangote09(at)gmail(dot)com>
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 09:32:18
Message-ID: CALwMDXe2F8Fr1RA2crdO8ohKG-KShY2EBF8Y66BzhwKoY-qGpw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello Amit,

On Thu, Sep 26, 2019 at 5:38 PM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
>
> Hi Shiraishi-san,
>
> On Thu, Sep 26, 2019 at 3:06 PM Youki Shiraishi <shiraishi(at)computer(dot)org> wrote:
> >
> > Hi,
> >
> > 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.
> */
>
> @@ -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.
If the word is obvious to hackers, please use the v2 patch attached to
this email.

Thanks,

--
Youki Shiraishi
NTT Software Innovation Center
Phone: +81-(0)3-5860-5115
Email: shiraishi(at)computer(dot)org

Attachment Content-Type Size
v2_add_comment_for_bootstrap_mode.patch application/octet-stream 458 bytes

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2019-09-26 09:55:53 Re: Standby accepts recovery_target_timeline setting?
Previous Message Fujii Masao 2019-09-26 09:23:09 Re: pg_wal/RECOVERYHISTORY file remains after archive recovery