Re: BUG #15290: Stuck Parallel Index Scan query - Mailing list pgsql-bugs

From Thomas Munro
Subject Re: BUG #15290: Stuck Parallel Index Scan query
Date
Msg-id CAEepm=3mshr1rq_wdD20w3CDtK11HoCd-eg6Q26-PMusyTKXDQ@mail.gmail.com
Whole thread Raw
In response to Re: BUG #15290: Stuck Parallel Index Scan query  (Victor Yegorov <vyegorov@gmail.com>)
Responses Re: BUG #15290: Stuck Parallel Index Scan query
List pgsql-bugs
Ok, I see it:

                        /* check for interrupts while we're not
holding any buffer lock */
                        CHECK_FOR_INTERRUPTS();
                        /* step right one page */
                        so->currPos.buf = _bt_getbuf(rel, blkno, BT_READ);
                        ...
                        /* nope, keep going */
                        if (scan->parallel_scan != NULL)
                        {
                                status = _bt_parallel_seize(scan, &blkno);

That leads to a condition variable wait, while we still hold that
buffer lock.  That prevents interrupts.  Oops.

-- 
Thomas Munro
http://www.enterprisedb.com


pgsql-bugs by date:

Previous
From: Michael Powers
Date:
Subject: Re: BUG #15293: Stored Procedure Triggered by Logical Replication isUnable to use Notification Events
Next
From: Andres Freund
Date:
Subject: Re: BUG #15290: Stuck Parallel Index Scan query