| From: | Anthonin Bonnefoy <anthonin(dot)bonnefoy(at)datadoghq(dot)com> |
|---|---|
| To: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
| Cc: | Andres Freund <andres(at)anarazel(dot)de>, Alexander Lakhin <exclusion(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Shutdown indefinitely stuck due to unflushed FPI_FOR_HINT record |
| Date: | 2026-03-16 09:45:35 |
| Message-ID: | CAO6_XqqvqMqUgZ0swSkB2VNUFos6b6Vbt9BpOEGCHz4nCQEi+g@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, Mar 16, 2026 at 6:39 AM Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
> Since Tomas added GetXLogInsertEndRecPtr() in commit b1f14c96720,
> I updated the patch to use it. Patch attached.
> Barring any objections, I will commit it.
>
> - XLogFlush(GetXLogWriteRecPtr());
> + XLogFlush(GetXLogInsertEndRecPtr());
Thanks for the updated patch! I've run my test script against the
patch and there's no more "xlog flush request xxx is not satisfied"
errors reported.
> I excluded the above change from the patch because it seems like a separate
> issue. I also wonder whether this code could cause an error in XLogFlush()
> even when GetXLogWriteRecPtr() is used.
Ha right, I've mixed Insert and Write and thought that
FinishSyncWorker was also doing a XlogFlush(GetXLogInsertRecPtr())
when writing the patch. If I try to trigger the partial record issue,
GetXLogWriteRecPtr() points at the end of the WAL page containing the
beginning of the FPI_FOR_HINT, there's no attempt to flush in the
future. So FinishSyncWorker doesn't seem impacted by the issue.
Regards,
Anthonin Bonnefoy
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2026-03-16 09:55:13 | Re: Enable -Wstrict-prototypes and -Wold-style-definition by default |
| Previous Message | Jaroslav Novikov | 2026-03-16 09:43:15 | Re: Streaming replication and WAL archive interactions |