Re: BUG #18616: Long-running hash index build can not be interrupted - Mailing list pgsql-bugs

From Alexander Lakhin
Subject Re: BUG #18616: Long-running hash index build can not be interrupted
Date
Msg-id 20a57c76-7aaf-a641-add3-147541a4dccf@gmail.com
Whole thread Raw
In response to BUG #18616: Long-running hash index build can not be interrupted  (PG Bug reporting form <noreply@postgresql.org>)
Responses Re: BUG #18616: Long-running hash index build can not be interrupted
List 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 by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #18617: PostgreSQL Server Subprocess Crashes by the XPATH Function Expression with Crafted Arguments
Next
From: Tom Lane
Date:
Subject: Re: BUG #18616: Long-running hash index build can not be interrupted