Do we need pre-allocate WAL files during end-of-recovery checkpoint? - Mailing list pgsql-hackers

From Bharath Rupireddy
Subject Do we need pre-allocate WAL files during end-of-recovery checkpoint?
Date
Msg-id CALj2ACUPczrQmQBTq2MyYd24P7bVNf1+q4CkvLTmHQbkFWZyeg@mail.gmail.com
Whole thread Raw
Responses Re: Do we need pre-allocate WAL files during end-of-recovery checkpoint?  (SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com>)
Re: Do we need pre-allocate WAL files during end-of-recovery checkpoint?  (Noah Misch <noah@leadboat.com>)
List pgsql-hackers
Hi,

The function PreallocXlogFiles doesn't get called during
end-of-recovery checkpoint in CreateCheckPoint, see [1]. The server
becomes operational after the end-of-recovery checkpoint and may need
WAL files. However, I'm not sure how beneficial it is going to be if
the WAL is pre-allocated (as PreallocXlogFiles just allocates only 1
extra WAL file).

Thoughts?

[1]
    /*
     * An end-of-recovery checkpoint is really a shutdown checkpoint, just
     * issued at a different time.
     */
    if (flags & (CHECKPOINT_IS_SHUTDOWN | CHECKPOINT_END_OF_RECOVERY))
        shutdown = true;
    else
        shutdown = false;

    /*
     * Make more log segments if needed.  (Do this after recycling old log
     * segments, since that may supply some of the needed files.)
     */
    if (!shutdown)
        PreallocXlogFiles(recptr, checkPoint.ThisTimeLineID);

Regards,
Bharath Rupireddy.



pgsql-hackers by date:

Previous
From: "Euler Taveira"
Date:
Subject: Re: row filtering for logical replication
Next
From: Justin Pryzby
Date:
Subject: Re: GUC flags