Re: shared-memory based stats collector - Mailing list pgsql-hackers

From Arthur Zakirov
Subject Re: shared-memory based stats collector
Date
Msg-id db346d14-4130-57a5-5f46-9a57e9982bec@postgrespro.ru
Whole thread Raw
In response to Re: shared-memory based stats collector  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
Responses Re: shared-memory based stats collector  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
List pgsql-hackers
Hello,

On 21.02.2019 10:05, Kyotaro HORIGUCHI wrote:
> Done. This verison 16 looks as if the moving and splitting were
> not happen. Major changes are:
> 
>   - Restored old pgstats_* names. This largily shrinks the patch
>     size to less than a half lines of v15.  More than that, it
>     gets easier to examine differences. (checkpointer.c and
>     bgwriter.c have a bit stale comments but it is an issue for
>     later.)
> 
>   - Removed "oneshot" feature at all. This simplifies pgstat API
>     and let this patch far less simple.
> 
>   - Moved StatsLock to LWTRANCHE_STATS, which is not necessary to
>     be in the main tranche.
> 
>   - Fixed several bugs revealed by the shrinked size of the patch.

I run regression tests. Unfortunately tests didn't pass, failed test is 
'rangetypes':

rangetypes ... FAILED (test process exited with exit code 2)

It seems to me that an autovacuum process terminates because of segfault.

Segfault occurs within get_pgstat_tabentry_relid(). If I'm not mistaken, 
somehow 'dbentry' hasn't valid pointer anymore.

'dbentry' is get in the line in do_autovacuum():

dbentry = pgstat_fetch_stat_dbentry(MyDatabaseId);

'dbentry' becomes invalid after calling pgstat_vacuum_stat().

-- 
Arthur Zakirov
Postgres Professional: http://www.postgrespro.com
Russian Postgres Company


pgsql-hackers by date:

Previous
From: Fabien COELHO
Date:
Subject: Re: libpq host/hostaddr/conninfo inconsistencies
Next
From: Amit Kapila
Date:
Subject: Re: WIP: Avoid creation of the free space map for small tables