Re: pgsql: autovacuum: handle analyze for partitioned tables

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Zhihong Yu <zyu@yugabyte.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2021-04-10T00:01:04Z
Lists: pgsql-hackers
Hello

On 2021-Apr-09, Andres Freund wrote:

> I assume this is also the likely explanation for / fix for:
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=skink&dt=2021-04-08%2016%3A03%3A03
> 
> ==3500389== VALGRINDERROR-BEGIN
> ==3500389== Invalid read of size 8
> ==3500389==    at 0x4EC4B8: relation_needs_vacanalyze (autovacuum.c:3237)
> ==3500389==    by 0x4EE0AF: do_autovacuum (autovacuum.c:2168)
> ==3500389==    by 0x4EEEA8: AutoVacWorkerMain (autovacuum.c:1715)
> ==3500389==    by 0x4EEF7F: StartAutoVacWorker (autovacuum.c:1500)
> ==3500389==    by 0x4FD2E4: StartAutovacuumWorker (postmaster.c:5539)

Hmm, I didn't try to reproduce this, but yeah it sounds quite likely
that it's the same issue -- line 3237 is the GETSTRUCT call where the
other one was crashing, which is now gone.

Thanks for pointing it out,

-- 
Álvaro Herrera       Valdivia, Chile



Commits

  1. Describe (auto-)analyze behavior for partitioned tables

  2. Add comment about extract_autovac_opts not holding lock

  3. Set pg_class.reltuples for partitioned tables

  4. autovacuum: handle analyze for partitioned tables