On Thu, May 13, 2021 at 12:36 PM Dilip Kumar <dilipbalaut@gmail.com> wrote:
>
> On Wed, May 12, 2021 at 5:55 PM Amul Sul <sulamul@gmail.com> wrote:
> >
>
> Thanks for the updated patch, while going through I noticed this comment.
>
> + /*
> + * WAL prohibit state changes not allowed during recovery except the crash
> + * recovery case.
> + */
> + PreventCommandDuringRecovery("pg_prohibit_wal()");
>
> Why do we need to allow state change during recovery? Do you still
> need it after the latest changes you discussed here, I mean now
> XLogAcceptWrites() being called before sending barrier to backends.
> So now we are not afraid that the backend will write WAL before we
> call XLogAcceptWrites(). So now IMHO, we don't need to keep the
> system in recovery until pg_prohibit_wal(false) is called, right?
>
Your understanding is correct, and the previous patch also does the same, but
the code comment is wrong. Fixed in the attached version, also rebased for the
latest master head. Sorry for the confusion.
Regards,
Amul