Re: [COMMITTERS] pgsql: autovacuum: Drop orphan temp tables more quickly but with more c - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: [COMMITTERS] pgsql: autovacuum: Drop orphan temp tables more quickly but with more c
Date
Msg-id CAB7nPqSJdpzO17-K4sKDnmEWf4jHXx02kFuFrsiZOiVsOnAMgA@mail.gmail.com
Whole thread Raw
Responses Re: Re: [COMMITTERS] pgsql: autovacuum: Drop orphan temp tables more quickly but with more c  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Mon, Nov 21, 2016 at 10:05 AM, Robert Haas <rhaas@postgresql.org> wrote:
> autovacuum: Drop orphan temp tables more quickly but with more caution.
>
> Previously, we only dropped an orphan temp table when it became old
> enough to threaten wraparound; instead, doing it immediately.  The
> only value of waiting is that someone might be able to examine the
> contents of the orphan temp table for forensic purposes, but it's
> pretty difficult to actually do that and few users will wish to do so.
> On the flip side, not performing the drop immediately generates log
> spam and bloats pg_class.

I have found an obvious bug when reading the code this morning:
orphan_failures is not initialized:
diff --git a/src/backend/postmaster/autovacuum.c
b/src/backend/postmaster/autovacuum.c
index 954c1a1..be357e7 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -1908,7 +1908,7 @@ do_autovacuum(void)
    BufferAccessStrategy bstrategy;
    ScanKeyData key;
    TupleDesc   pg_class_desc;
-   int         orphan_failures;
+   int         orphan_failures = 0;
    int         effective_multixact_freeze_max_age;

    /*
Attached is a patch.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Improve OOM handling in pg_locale.c
Next
From: Tom Lane
Date:
Subject: Re: Re: [COMMITTERS] pgsql: autovacuum: Drop orphan temp tables more quickly but with more c