From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | Alexander Lakhin <exclusion(at)gmail(dot)com> |
Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, Sergei Kornilov <sk(at)zsrv(dot)org>, Noah Misch <noah(at)leadboat(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org, Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com> |
Subject: | Re: BUG #17928: Standby fails to decode WAL on termination of primary |
Date: | 2023-09-19 22:51:12 |
Message-ID: | CA+hUKGKp_Go=EqA65r6naxrmXFfD-uH3DwPbm7tRCu9d2T=VyQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Wed, Sep 20, 2023 at 1:00 AM Alexander Lakhin <exclusion(at)gmail(dot)com> wrote:
> I've tested this patch version on Debian 9 and it works fine now.
Progress...
> But as to wal_log_hints, I see that v7 patches work for REL_12_STABLE and
> REL_13_STABLE, but not for other branches, though v6 patches definitely
> failed on REL_12_STABLE and REL_13_STABLE too. So the behavior improved,
> but not for all versions, for some reason (I haven't looked deeper yet).
Ahh, yeah, there was a second problem screwing up the LSN accounting.
I was trying to write correct xl_prev links, but also emitting
optional padding records to get into the right position (depending on
initial conditions varying between branches etc), and I forgot about
the extra COMMIT records that emit_message() generates. Which, I
guess, comes back to Michael's observation that this would all be a
bit easier if we had a way to emit and flush a single record...
The solution in this version is to call get_insert_len() instead of
using the result of emit_message() for the values returned by the
advance_XXX() functions. The result of emit_message() is actually the
LSN of the following COMMIT record so can't be used directly for
building xl_prev chains.
> Also I've noticed a few minor discrepancies in the patches.
> A commit message in patch.15 contains the sentence "We should fix ...",
> not "We could fix ...", as in commit messages for other versions.
> Also, patch.12 contains a duplicated "Reviewed-by" string.
> And may be "xlp_prev" is a typo?
Fixed.
Attachment | Content-Type | Size |
---|---|---|
v8-0001-Don-t-trust-unvalidated-xl_tot_len.patch | text/x-patch | 25.1 KB |
v8-0001-Don-t-trust-unvalidated-xl_tot_len.patch.16 | application/octet-stream | 25.1 KB |
v8-0001-Don-t-trust-unvalidated-xl_tot_len.patch.15 | application/octet-stream | 24.6 KB |
v8-0001-Don-t-trust-unvalidated-xl_tot_len.patch.14 | application/octet-stream | 22.3 KB |
v8-0001-Don-t-trust-unvalidated-xl_tot_len.patch.13 | application/octet-stream | 22.4 KB |
v8-0001-Don-t-trust-unvalidated-xl_tot_len.patch.12 | application/octet-stream | 22.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2023-09-20 00:51:39 | Re: BUG #17928: Standby fails to decode WAL on termination of primary |
Previous Message | Andrew Dunstan | 2023-09-19 19:57:33 | Re: BUG #6052: ADD COLUMN - ERROR: tables can have at most 1600 columns |