Re: Parallel Index Scan vs BTP_DELETED and BTP_HALF_DEAD

From: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Kuntal Ghosh <kuntalghosh(dot)2007(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Parallel Index Scan vs BTP_DELETED and BTP_HALF_DEAD
Date: 2017-12-13 03:20:04
Message-ID: CAEepm=2pJAqCrcG-QVLjwSJua33AU7Z7pWVjQGXWse3rMZHG7g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Dec 13, 2017 at 3:41 PM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> Good. I hope that the patch I have posted above is able to resolve
> this problem. I am asking as you haven't explicitly mentioned that.

I can confirm that your patch fixes the problem for forward scans.
That is, I can see it reaching the BTP_DELETED case via an extra LOG
statement I added, and it worked correctly. Good.

I don't know how to make it hit the backwards scan case. I can get a
backward scan in a worker by changing the query to "select count(*)
from (select * from jobs where id + 1 > id order by status desc) ss"
but I suspect that _bt_walk_left() may be hiding deleted pages from us
so the condition may not be reachable with this technique.

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2017-12-13 03:24:29 pg_ctl on windows can't open postmaster.pid: Permission denied
Previous Message Haribabu Kommi 2017-12-13 02:50:12 Re: [HACKERS] Refactor handling of database attributes between pg_dump and pg_dumpall