From: | shveta malik <shveta(dot)malik(at)gmail(dot)com> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Ajin Cherian <itsajin(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com> |
Subject: | Re: Synchronizing slots from primary to standby |
Date: | 2024-02-21 06:43:43 |
Message-ID: | CAJpy0uCHkw_wg+iH2ExdZ01sijbfLWZ=DGEEo6pAmP_D+XyrvQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Feb 20, 2024 at 6:56 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> Miscellaneous comments:
Thanks for the comments.
> ========================
> 1.
> +void
> +ShutDownSlotSync(void)
> +{
> + SpinLockAcquire(&SlotSyncCtx->mutex);
> +
> + SlotSyncCtx->stopSignaled = true;
>
> This flag is never reset back. I think we should reset this once the
> promotion is complete. Though offhand, I don't see any problem with
> this but it doesn't look clean and can be a source of bugs in the
> future.
Did reset of flag in MaybeStartSlotSyncWorker() when we attempt to
start the worker after promotion completion and find that stopSignaled
is true while pmState is PM_RUN. From that point onwards, we can rely
on pmState to prevent the launch of the slot sync worker and thus can
reset stopSignaled.
> 2.
> +char *
> +CheckDbnameInConninfo(void)
> {
> char *dbname;
>
> Let's name this function as CheckAndGetDbnameFromConninfo().
Modified.
> Apart from the above, I have made cosmetic changes in the attached.
Included these changes. Thanks.
Here are the v93 patches. It also addresses Swada-san's comment of
converting LOG to ERROR on receiving wal_level < logical.
I have also incorporated one more change wherein we check that
'Shutdown <= SmartShutdown' before launching the slot sync worker.
Since we do not need slot sync process to help in the rest of the
shutdown process, so better not to start it when shutdown (immediate
or fast) is going on. I have done this based on the details in [1]. It
is similar to WalReceiver behaviour. Thoughts?
thanks
Shveta
Attachment | Content-Type | Size |
---|---|---|
v93-0003-Document-the-steps-to-check-if-the-standby-is-re.patch | application/octet-stream | 7.0 KB |
v93-0001-Add-a-new-slotsync-worker.patch | application/octet-stream | 60.1 KB |
v93-0002-Allow-logical-walsenders-to-wait-for-the-physica.patch | application/octet-stream | 43.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2024-02-21 06:44:15 | Re: A new message seems missing a punctuation |
Previous Message | Michael Paquier | 2024-02-21 06:40:18 | Re: ALTER TABLE SET ACCESS METHOD on partitioned tables |