Re: could not read block 0 in file : read only 0 of 8192 bytes when doing nasty on immutable index function

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Luca Ferrari <fluca1978(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)postgresql(dot)org>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: could not read block 0 in file : read only 0 of 8192 bytes when doing nasty on immutable index function
Date: 2018-08-01 02:29:37
Message-ID: CAH2-WzktOvCnKq29YF=vJduJZD1nCHBfkGQxOxCXESKG_eJi=g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-general

On Tue, Jul 31, 2018 at 7:02 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> Maybe expand a bit on this by saying that it's more likely "because
> plan_create_index_workers() triggers a relcache entry to be (re-)built,
> which previously did only happen in edge cases" or such?

Okay.

> Not a fan of this comment. It doesn't really explain that well why it's
> needed here, but then goes on to a relatively general explanation of why
> cache invalidation is necessary. Why not just go for something like
> "register relcache invalidation on the indexes' heap relation, to
> maintain consistency of its index list"?

That seems much more generic to me!

The comment is supposed to convey that the stuff within
index_update_stats() isn't enough because of xact abort specifically.
SI invalidation is very much part of the index_update_stats() contract
already.

> I wonder if it wouldn't be more appropriately placed closer to the
> UpdateIndexRelation(), given that that's essentially what necessitates
> the relcache flush?

That makes sense. I'll do it that way.

--
Peter Geoghegan

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2018-08-01 04:00:57 Re: could not read block 0 in file : read only 0 of 8192 bytes when doing nasty on immutable index function
Previous Message Andres Freund 2018-08-01 02:02:11 Re: could not read block 0 in file : read only 0 of 8192 bytes when doing nasty on immutable index function

Browse pgsql-general by date

  From Date Subject
Next Message Andres Freund 2018-08-01 04:00:57 Re: could not read block 0 in file : read only 0 of 8192 bytes when doing nasty on immutable index function
Previous Message Andres Freund 2018-08-01 02:02:11 Re: could not read block 0 in file : read only 0 of 8192 bytes when doing nasty on immutable index function