Re: Recovery at replica stuck because recovery incorrectly trusts an old high-water mark

From: Manu <manuelreyesbravo(at)gmail(dot)com>
To: Konstantin Knizhnik <knizhnik(at)garret(dot)ru>
Cc: Jeff Davis <pgsql(at)j-davis(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Recovery at replica stuck because recovery incorrectly trusts an old high-water mark
Date: 2026-09-25 03:00:31
Message-ID: 179030523139.454262.16868735872494032999@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Konstantin Knizhnik <knizhnik(at)garret(dot)ru> wrote:
> I have not re-run the recovery TAP suite against this tree (no local
> install of current master).

I ran it on master 2c10c2ce4d7 with v2 (cassert, injection points):
src/test/recovery passes, 802 tests against 799 on master, the new
ones being 058. Without the C changes, 058 fails as intended, with
startup rereading the corrupt local copy until the timeout.

One ordering issue: the reset of applyFlushedUpto runs after
RequestXLogStreaming(). If the new walreceiver flushes the
replacement bytes before the reset, the pointer goes back below them
and startup waits for the next flush. The window is tiny, but with a
3 s sleep there, replay sat for about 18 s until an unrelated
running-xacts record arrived.

Doing the reset before RequestXLogStreaming() closes it: with the
same sleep there is no stall, and with only that change (attached, on
top of v2) the recovery suite passes and 058 passed 20 of 20 runs.

Logs and the review-only diffs are in the second attachment.

Regards,
Manu

Attachment Content-Type Size
nocfbot-reset-before-request.diff.txt text/plain 1.0 KB
nocfbot-walrcv-v2-review.txt text/plain 6.6 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Osama Abdul Qader 2026-09-25 03:05:45 Re: Severe performance degradation with concurrent updates due to excessive EvalPlanQual (EPQ) re‑evaluation
Previous Message Hayato Kuroda (Fujitsu) 2026-09-25 02:46:40 RE: [PATCH] Add a check_hook for output_plugin_libraries