| 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 |
| 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 |