Re: [PATCH] Don't block HOT update by BRIN index

Justin Pryzby <pryzby@telsasoft.com>

From: Justin Pryzby <pryzby@telsasoft.com>
To: Tomas Vondra <tomas.vondra@enterprisedb.com>
Cc: Josef Šimánek <josef.simanek@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, pgsql-hackers@postgresql.org
Date: 2021-12-05T16:47:31Z
Lists: pgsql-hackers
On Tue, Nov 30, 2021 at 08:11:03PM +0100, Tomas Vondra wrote:
> OK,
> 
> I've polished the last version of the patch a bit (added a regression test
> with update of attribute in index predicate and docs about the new flag into
> indexam.sgml) and pushed.

brin.sql's new brin_hot test is failing sometimes.

I saw a local failure and then found this.
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=serinus&dt=2021-12-01%2003%3A00%3A07

 SELECT pg_stat_get_tuples_hot_updated('brin_hot'::regclass::oid);
  pg_stat_get_tuples_hot_updated 
 --------------------------------
-                              1
+                              0
 (1 row)

Evidently because:
| 2021-12-01 04:02:01.096 CET [61a6e587.3106b1:4] LOG:  wait_for_hot_stats delayed 33.217301 seconds

It seems like maybe the UDP packet lost to the stats collector got lost ?
It fails less than 10% of the time here, probably depending on load.

BTW there's a typo in brin.sql: precicates

-- 
Justin



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Ignore BRIN indexes when checking for HOT updates

  2. Move test for BRIN HOT behavior to stats.sql

  3. Ignore BRIN indexes when checking for HOT udpates