Re: Skip all-visible pages during second HeapScan of CIC

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Skip all-visible pages during second HeapScan of CIC
Date: 2017-03-03 23:03:37
Message-ID: CAH2-WzkaE7N_BusuS+zPj3TzaR8DMdCLKgxkuZ91WUWPuUAXrg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Mar 3, 2017 at 2:54 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> On 2017-02-28 19:12:03 +0530, Pavan Deolasee wrote:
>> Since VM bits are only set during VACUUM which conflicts with CIC on the
>> relation lock, I don't see any risk of incorrectly skipping pages that the
>> second scan should have scanned.
>
> I think that's true currently, but it'd also prevent us from doing that
> in additional places. Which, in my opinion, we really should (and I
> believe that's realistically achievable). Thus I really don't want to
> base the correctness of CIC - a relatively infrequent operation - on the
> assumption that no VM bits can be set concurrenty due to the SUE lock.

I agree.

FWIW, the extra time that CIC takes over a plain CI is much reduced these days.

--
Peter Geoghegan

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2017-03-03 23:06:51 Re: Skip all-visible pages during second HeapScan of CIC
Previous Message Andres Freund 2017-03-03 22:54:36 Re: Skip all-visible pages during second HeapScan of CIC