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

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: Noah Misch <noah@leadboat.com>
Cc: Michael Paquier <michael@paquier.xyz>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, exclusion@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2023-08-11T23:56:45Z
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, Aug 12, 2023 at 2:00 AM Noah Misch <noah@leadboat.com> wrote:
> On Fri, Aug 11, 2023 at 03:08:26PM +0900, Michael Paquier wrote:
> > You are planning for a backpatch to take care of the inconsistency,
> > right?  The report has been on 15~ where the prefetching was
> > introduced.  I'd be OK to just do that and not mess up with the stable
> > branches more than necessary (aka ~14) if nobody complains, especially
> > REL_11_STABLE planned to be EOL'd in the next minor cycle.
>
> I recall earlier messages theorizing that it was just harder to hit in v14, so
> I'm disinclined to stop at v15.  I think the main choice is whether to stop at
> v11 (normal choice) or v12 (worry about breaking the last v11 point release).
> I don't have a strong opinion between those.

Thanks for working on this.

I wonder if we need a more explicit way to construct pages with the
right bits to reach interesting test cases and get full enough
coverage...  (Cf throwing SQL at the WAL to see if it sticks.)