A note about hash-based catcache invalidations

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)postgreSQL(dot)org
Subject: A note about hash-based catcache invalidations
Date: 2011-08-16 21:17:29
Message-ID: 12778.1313529449@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I'm looking into the idea I mentioned earlier:

> All is not entirely lost, however: there's still some possible
> performance benefit to be gained here, if we go to the scheme of
> identifying victim catcache entries by hashvalue only. Currently,
> each heap_update in a cached catalog has to issue two sinval messages
> (per cache!): one against the old TID and one against the new TID.
> We'd be able to reduce that to one message in the common case where the
> hashvalue remains the same because the cache key columns didn't change.

Removing the tuple ID from sinval messages turns out to have slightly
wider impact than I thought at first, because the current coding passes
those to callback functions registered with
CacheRegisterSyscacheCallback, and there are a lot of 'em. However,
only one of them seems to be doing anything with the tuplePtr argument,
namely PlanCacheFuncCallback. We can make it work with the hash value
instead, which will be about as good as what we're doing now.

Any objections to that plan?

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2011-08-16 22:40:06 Re: synchronized snapshots
Previous Message Robert Haas 2011-08-16 20:09:26 Re: error: could not find pg_class tuple for index 2662