On Fri, Jul 2, 2021 at 9:53 AM Michael Paquier <mich...@paquier.xyz> wrote:
>
> On Mon, Jun 28, 2021 at 08:21:06PM +0530, Bharath Rupireddy wrote:
> > The recoveryWakeupLatch and procLatch/MyLatch are being used for WAL
> > replay and recovery conflict, respectively. Actually, I was earlier
> > using procLatch/MyLatch, but came across the commit 00f690a23 which
> > says that the two latches are reserved for specific purposes. I'm not
> > quite sure which one to use when do_pg_stop_backup is called by the
> > startup process. Any thoughts?
>
> Could you explain why you think dp_pg_stop_backup() can be called by
> the startup process? AFAIK, this code path applies to two categories
> of sessions:
> - backend sessions, with the SQL functions calling this routine.
> - WAL senders, aka anything that connects with replication=1 able to
> use the BASE_BACKUP with the replication protocol.

My bad. I was talking about the cases when do_pg_stop_backup is called
while the server is in recovery mode i.e. backup_started_in_recovery =
RecoveryInProgress(); evaluates to true. I'm not sure in these cases
whether we should replace pg_usleep with WaitLatch. If yes, whether we
should use procLatch/MyLatch or recoveryWakeupLatch as they are
currently serving different purposes.

Regards,
Bharath Rupireddy.


Reply via email to