Re: PG10.1 autovac killed building extended stats - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: PG10.1 autovac killed building extended stats
Date
Msg-id 20171117163600.d7zsm2odaizikdhs@alvherre.pgsql
Whole thread Raw
In response to PG10.1 autovac killed building extended stats  (Justin Pryzby <pryzby@telsasoft.com>)
Responses Re: PG10.1 autovac killed building extended stats  (Justin Pryzby <pryzby@telsasoft.com>)
List pgsql-hackers
Justin Pryzby wrote:

> Core was generated by `postgres: autovacuum worker process   gtt             '.
> Program terminated with signal 11, Segmentation fault.
> #0  statext_ndistinct_build (totalrows=300, numrows=300, rows=0x21df3e8, attrs=<value optimized out>, stats=0x0) at
mvdistinct.c:103
> 103                                     item->attrs = bms_add_member(item->attrs,
> 
> (gdb) p stats
> $5 = (VacAttrStats **) 0x0
> => This is an error, no ??

Not necessarily, but then I think this previous code is busted:
       /*        * Check if we can build these stats based on the column analyzed. If        * not, report this fact
(exceptin autovacuum) and move on.        */       stats = lookup_var_attr_stats(onerel, stat->columns,
                   natts, vacattrstats);       if (!stats && !IsAutoVacuumWorkerProcess())       {
ereport(WARNING,                  (errcode(ERRCODE_INVALID_OBJECT_DEFINITION),                    errmsg("statistics
object\"%s.%s\" could not be computed for relation \"%s.%s\"",                           stat->schema, stat->name,
                    get_namespace_name(onerel->rd_rel->relnamespace),
RelationGetRelationName(onerel)),                   errtable(onerel)));           continue;       }
 

If I recall things correctly, the "continue" should be executed
regardless of IsAutoVacuumWorkerProcess() (only the log should be
conditional on that).  I'm not sure how I arrived at the current coding,
which I added in bf2a691e02d7 -- probably just fuzzy thinking.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: PG10.1 autovac killed building extended stats
Next
From: Justin Pryzby
Date:
Subject: Re: PG10.1 autovac crashed building extended stats