Re: BUG #17928: Standby fails to decode WAL on termination of primary

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Sergei Kornilov <sk@zsrv.org>, Noah Misch <noah@leadboat.com>, Tom Lane <tgl@sss.pgh.pa.us>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, exclusion@gmail.com, pgsql-bugs@lists.postgresql.org, Fujii Masao <masao.fujii@oss.nttdata.com>
Date: 2023-09-16T00:02:57Z
Lists: pgsql-bugs

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Correct assertion and comments about XLogRecordMaxSize.

  2. Fix edge-case for xl_tot_len broken by bae868ca.

  3. Don't use Perl pack('Q') in 039_end_of_wal.pl.

  4. Don't trust unvalidated xl_tot_len.

  5. Make recovery report error message when invalid page header is found.

  6. Add more protections in WAL record APIs against overflows

On Sat, Sep 16, 2023 at 10:07:30AM +1200, Thomas Munro wrote:
> I rebased (bumped the test number 038 -> 039), updated the commit
> message[1], tested on a big endian machine (AIX/POWER), but then I
> found there is something not quite right or stable with the WAL
> positioning logic.  On one of my machines, but not another, the
> back-patch to 12 fails in one of the tests unless I hack it to insert
> a bit more WAL, and I think that's telling me that Perl code to
> control the insertion point is not quite bullet proof enough yet.
> I'll need to dig into this some more on Monday.
> 
> [1] https://github.com/macdice/postgres/commits/fix-12

Hmm.  What was the test that failed?
--
Michael