Re: [Patch] ALTER SYSTEM READ ONLY

From: Amul Sul <sulamul(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>, Rushabh Lathia <rushabh(dot)lathia(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, Ibrar Ahmed <ibrar(dot)ahmad(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Prabhat Sahu <prabhat(dot)sahu(at)enterprisedb(dot)com>
Subject: Re: [Patch] ALTER SYSTEM READ ONLY
Date: 2021-11-08 13:20:01
Message-ID: CAAJ_b96m05_AcMdPC=HmjZ6qvovK4zeprvRAbQZW+Gm3Aw=raA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Oct 26, 2021 at 4:29 PM Amul Sul <sulamul(at)gmail(dot)com> wrote:
>
> On Mon, Oct 25, 2021 at 8:15 PM Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> >
> > On Mon, Oct 25, 2021 at 3:05 AM Amul Sul <sulamul(at)gmail(dot)com> wrote:
> > > Ok, did the same in the attached 0001 patch.
> > >
> > > There is no harm in calling LocalSetXLogInsertAllowed() calling
> > > multiple times, but the problem I can see is that with this patch user
> > > is allowed to call LocalSetXLogInsertAllowed() at the time it is
> > > supposed not to be called e.g. when LocalXLogInsertAllowed = 0;
> > > WAL writes are explicitly disabled.
> >
> > I've pushed 0001 and 0002 but I reversed the order of them and made a
> > few other edits.
> >
>
> Thank you!
>
> I have rebased the remaining patches on top of the latest master head
> (commit # e63ce9e8d6a).
>
> In addition to that, I did the additional changes to 0002 where I
> haven't included the change that tries to remove arguments of
> CleanupAfterArchiveRecovery() in the previous version. Because if we
> want to use XLogCtl->replayEndTLI and XLogCtl->replayEndRecPtr to
> replace EndOfLogTLI and EndOfLog arguments respectively, then we also
> need to consider the case where EndOfLog is changing if the
> abort-record does exist. That can be decided only in XLogAcceptWrite()
> before the shared memory value related to abort-record is going to be
> clear.
>

Attached is the rebased version of refactoring as well as the
pg_prohibit_wal feature patches for the latest master head (commit #
39a3105678a).

I was planning to attach the rebased version of isolation test patches
that Mark has posted before[1], but some permutation tests are not
stable, where expected errors get printed differently; therefore, I
dropped that from the attachment, for now.

Regards,
Amul

1] https://postgr.es/m/9BA3BA57-6B7B-45CB-B8D9-6B5EB0104FFA@enterprisedb.com

Attachment Content-Type Size
v41-0007-Test-Few-tap-tests-for-wal-prohibited-system.patch application/octet-stream 9.8 KB
v41-0006-Documentation.patch application/octet-stream 10.5 KB
v41-0004-Implement-wal-prohibit-state-using-global-barrie.patch application/octet-stream 50.2 KB
v41-0003-Allow-RequestCheckpoint-call-from-checkpointer-p.patch application/octet-stream 1020 bytes
v41-0005-Error-or-Assert-before-START_CRIT_SECTION-for-WA.patch application/octet-stream 69.6 KB
v41-0002-Remove-dependencies-on-startup-process-specifica.patch application/octet-stream 7.7 KB
v41-0001-Create-XLogAcceptWrites-function-with-code-from-.patch application/octet-stream 5.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2021-11-08 13:27:06 Re: removing global variable ThisTimeLineID
Previous Message vignesh C 2021-11-08 13:14:34 Re: Optionally automatically disable logical replication subscriptions on error