Re: BUG #18616: Long-running hash index build can not be interrupted

Поиск
Список
Период
Сортировка
От Alexander Lakhin
Тема Re: BUG #18616: Long-running hash index build can not be interrupted
Дата
Msg-id 20a57c76-7aaf-a641-add3-147541a4dccf@gmail.com
обсуждение исходный текст
Ответ на BUG #18616: Long-running hash index build can not be interrupted  (PG Bug reporting form <noreply@postgresql.org>)
Ответы Re: BUG #18616: Long-running hash index build can not be interrupted
Список pgsql-bugs
Hi Pavel,

13.09.2024 17:51, Pavel Borisov wrote:


Reproduced on all supported versions.
I was unable to reproduce it on my machine with these settings. Tried statement timeouts 30-120s. Index build appears to be in interruptible phase on my system.
But could you check in your environment with the following patch?


Thank you for paying attention to this!

Yes, the patch works for me. The query is interrupted as expected.
But I wonder, why don't you the see same?

Could you please show the server log, with the following change applied and
log_statement = 'all'
backtrace_functions = 'ProcessInterrupts'
?

--- a/src/backend/access/hash/hashsort.c
+++ b/src/backend/access/hash/hashsort.c
@@ -125,6 +125,7 @@ _h_indexbuild(HSpool *hspool, Relation heapRel)
     uint32      hashkey = 0;
 #endif
 
+elog(LOG, "_h_indexbuild() start");
     tuplesort_performsort(hspool->sortstate);
 
     while ((itup = tuplesort_getindextuple(hspool->sortstate, true)) != NULL)
@@ -151,4 +152,5 @@ _h_indexbuild(HSpool *hspool, Relation heapRel)
         pgstat_progress_update_param(PROGRESS_CREATEIDX_TUPLES_DONE,
                                      ++tups_done);
     }
+elog(LOG, "_h_indexbuild() end; tups_done: %ld", tups_done);
 }

Best regards,
Alexander

В списке pgsql-bugs по дате отправления: