From: | Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> |
---|---|
To: | exclusion(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #18354: Aborted transaction aborted during cleanup when temp_file_limit exceeded |
Date: | 2024-02-22 02:46:00 |
Message-ID: | 20240222.114600.1019580904613326727.horikyota.ntt@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
At Wed, 21 Feb 2024 12:00:01 +0000, PG Bug reporting form <noreply(at)postgresql(dot)org> wrote in
> triggers two errors, a warning, and an assertion failure:
> ERROR: temporary file size exceeds temp_file_limit (100kB)
> WARNING: AbortTransaction while in ABORT state
> ERROR: temporary file size exceeds temp_file_limit (100kB)
> server closed the connection unexpectedly
...
> For the second error:
> 2024-02-21 11:40:07.001 UTC|law|regression|65d5e116.13cfcb|ERROR: temporary
> file size exceeds temp_file_limit (100kB)
> 2024-02-21 11:40:07.001 UTC|law|regression|65d5e116.13cfcb|BACKTRACE:
> FileWrite at fd.c:2183:5
> BufFileDumpBuffer at buffile.c:537:18
> BufFileFlush at buffile.c:723:3
> BufFileClose at buffile.c:419:9
> tuplestore_end at tuplestore.c:459:5
> MemoryContextSwitchTo at palloc.h:142:23
> (inlined by) PortalDrop at portalmem.c:587:3
> AtCleanup_Portals at portalmem.c:907:3
Therefore, BufFileClose should not flush the content during error
handling. In the first place, tuplestore doesn't need to flush the
underlying files in _end and _clear. In this case, I would choose to
change the general behavior of tuplestore. The attached PoC patch
fixes the issue for me. It introduces a new "extended" function to
control flushing, avoiding the addition of an unnatural parameter to
BufFileClose. I suspect that it is usable in some other places, but I
haven't checked that.
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center
Attachment | Content-Type | Size |
---|---|---|
don_t_flush_tuplestore_at_end.diff | text/x-patch | 2.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tender Wang | 2024-02-22 03:49:29 | Re: BUG #18354: Aborted transaction aborted during cleanup when temp_file_limit exceeded |
Previous Message | Heikki Linnakangas | 2024-02-22 00:05:04 | Re: DSA_ALLOC_NO_OOM doesn't work |