Re: Pluggable Storage - Andres's take

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Ashwin Agrawal <aagrawal(at)pivotal(dot)io>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>, Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Asim R P <apraveen(at)pivotal(dot)io>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>, Dmitry Dolgov <9erthalion6(at)gmail(dot)com>, Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>
Subject: Re: Pluggable Storage - Andres's take
Date: 2019-06-06 07:07:25
Message-ID: a8753ca7-9be3-5b5c-46fa-3090e9041964@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 18/05/2019 01:19, Ashwin Agrawal wrote:
> On Tue, Apr 9, 2019 at 6:17 AM Heikki Linnakangas <hlinnaka(at)iki(dot)fi
> <mailto:hlinnaka(at)iki(dot)fi>> wrote:
>
> On 08/04/2019 20:37, Andres Freund wrote:
> > On 2019-04-08 15:34:46 +0300, Heikki Linnakangas wrote:
> >> There's a little bug in index-only scan executor node, where it
> mixes up the
> >> slots to hold a tuple from the index, and from the table. That
> doesn't cause
> >> any ill effects if the AM uses TTSOpsHeapTuple, but with my toy
> AM, which
> >> uses a virtual slot, it caused warnings like this from
> index-only scans:
> >
> > Hm. That's another one that I think I had fixed previously :(,
> and then
> > concluded that it's not actually necessary for some reason. Your fix
> > looks correct to me.  Do you want to commit it? Otherwise I'll
> look at
> > it after rebasing zheap, and checking it with that.
>
> I found another slot type confusion bug, while playing with
> zedstore. In
> an Index Scan, if you have an ORDER BY key that needs to be rechecked,
> so that it uses the reorder queue, then it will sometimes use the
> reorder queue slot, and sometimes the table AM's slot, for the scan
> slot. If they're not of the same type, you get an assertion:
>
> TRAP: FailedAssertion("!(op->d.fetch.kind == slot->tts_ops)", File:
> "execExprInterp.c", Line: 1905)
>
> Attached is a test for this, again using the toy table AM, extended to
> be able to test this. And a fix.
>
>
> It seems the two patches from email [1] fixing slot confusion in Index
> Scans are pending to be committed.
>
> 1]
> https://www.postgresql.org/message-id/e71c4da4-3e82-cc4f-32cc-ede387fac8b0%40iki.fi

Pushed the first patch now. Andres already fixed the second issue in
commit b8b94ea129.

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2019-06-06 07:31:43 Re: crash testing suggestions for 12 beta 1
Previous Message Michael Paquier 2019-06-06 07:06:36 Re: pg_basebackup failure after setting default_table_access_method option