Re: type cache cleanup improvements

From: Andrei Lepikhov <lepihov(at)gmail(dot)com>
To: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Cc: Alexander Lakhin <exclusion(at)gmail(dot)com>, Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>, Teodor Sigaev <teodor(at)sigaev(dot)ru>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>, Aleksander Alekseev <aleksander(at)timescale(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Paquier <michael(at)paquier(dot)xyz>
Subject: Re: type cache cleanup improvements
Date: 2024-09-18 14:10:08
Message-ID: 7dde3de4-a987-49ab-b4a4-a6abcaaca6be@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 13/9/2024 01:38, Alexander Korotkov wrote:
> I've tried to implement handling of concurrent invalidation similar to
> commit fdd965d074. However that appears to be more difficult that I
> thought, because for some datatypes like arrays, ranges etc we might
> need fill the element type and reference it. So, I decided to
> continue with the current approach but borrowing some ideas from
> fdd965d074. The revised patchset attached.
Let me rephrase the issue in more straightforward terms to ensure we are
all clear on the problem:
The critical problem of the typcache lookup on not-yet-locked data is
that it can lead to an inconsistent state of the TypEntry, potentially
causing disruptions in the DBMS's operations, correct?
Let's exemplify this statement. By filling typentry's lt_opr, eq_opr,
and gt_opr fields, we access the AMOPSTRATEGY cache. One operation can
successfully fetch data from the cache, but another can miss data and
touch the catalogue table, causing invalidations. In this case, we can
get an inconsistent set of operators. Do I understand the problem
statement correctly?

If this view is correct, your derived approach should work fine if all
necessary callbacks are registered. I see that at least AMOPSTRATEGY and
PROCOID were missed at the moment of the typcache initialization.

--
regards, Andrei Lepikhov

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2024-09-18 14:10:57 Re: attndims, typndims still not enforced, but make the value within a sane threshold
Previous Message Robert Haas 2024-09-18 13:50:39 Re: access numeric data in module