Re: [Patch] ALTER SYSTEM READ ONLY

Amul Sul <sulamul@gmail.com>

From: Amul Sul <sulamul@gmail.com>
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Cc: Prabhat Sahu <prabhat.sahu@enterprisedb.com>, Ibrar Ahmed <ibrar.ahmad@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>, Andres Freund <andres@anarazel.de>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-04-12T14:04:15Z
Lists: pgsql-hackers

Attachments

Rebased again.

On Wed, Apr 7, 2021 at 12:38 PM Amul Sul <sulamul@gmail.com> wrote:
>
> Rotten again, attached the rebased version.
>
> Regards,
> Amul
>
> On Mon, Apr 5, 2021 at 5:27 PM Amul Sul <sulamul@gmail.com> wrote:
> >
> > On Mon, Apr 5, 2021 at 4:45 PM Bharath Rupireddy
> > <bharath.rupireddyforpostgres@gmail.com> wrote:
> > >
> >
> > Thanks Bharath for your review.
> >
> > > On Mon, Apr 5, 2021 at 11:02 AM Amul Sul <sulamul@gmail.com> wrote:
> > > >
> > > > Attached is the rebase version for the latest master head(commit # 9f6f1f9b8e6).
> > >
> > > Some minor comments on 0001:
> > > Isn't it "might not be running"?
> > > +                 errdetail("Checkpointer might not running."),
> > >
> >
> > Ok, fixed in the attached version.
> >
> > > Isn't it  "Try again after sometime"?
> > > +                         errhint("Try after sometime again.")));
> > >
> >
> > Ok, done.
> >
> > > Can we have ereport(DEBUG1 just to be consistent(although it doesn't
> > > make any difference from elog(DEBUG1) with the new log messages
> > > introduced in the patch?
> > > +    elog(DEBUG1, "waiting for backends to adopt requested WAL
> > > prohibit state change");
> > >
> >
> > I think it's fine; many existing places have used elog(DEBUG1, ....) too.
> >
> > Regards,
> > Amul

Commits

  1. Initialize variable to placate compiler.

  2. StartupXLOG: Don't repeatedly disable/enable local xlog insertion.

  3. StartupXLOG: Call CleanupAfterArchiveRecovery after XLogReportParameters.

  4. Postpone some end-of-recovery operations related to allowing WAL.

  5. Refactor some end-of-recovery code out of StartupXLOG().

  6. Re-enable contrib/bloom's TAP tests.

  7. Remove unnecessary call to ReadCheckpointRecord().

  8. Allow for error or refusal while absorbing a ProcSignalBarrier.

  9. Add comment to explain an unused function parameter

  10. Extend the ProcSignal mechanism to support barriers.

  11. At promotion, don't leave behind a partial segment on the old timeline.