On Mon, Nov 21, 2016 at 10:05 AM, Robert Haas <rh...@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
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;
 
 	/*
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to