Re: BUG #18354: Aborted transaction aborted during cleanup when temp_file_limit exceeded
От | Kyotaro Horiguchi |
---|---|
Тема | Re: BUG #18354: Aborted transaction aborted during cleanup when temp_file_limit exceeded |
Дата | |
Msg-id | 20240222.114600.1019580904613326727.horikyota.ntt@gmail.com обсуждение исходный текст |
Ответ на | BUG #18354: Aborted transaction aborted during cleanup when temp_file_limit exceeded (PG Bug reporting form <noreply@postgresql.org>) |
Ответы |
Re: BUG #18354: Aborted transaction aborted during cleanup when temp_file_limit exceeded
|
Список | pgsql-bugs |
At Wed, 21 Feb 2024 12:00:01 +0000, PG Bug reporting form <noreply@postgresql.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
Вложения
В списке pgsql-bugs по дате отправления: