Make sure that open hash table scans are cleaned up when bgwriter tries to
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 11 Sep 2007 17:15:55 +0000 (17:15 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 11 Sep 2007 17:15:55 +0000 (17:15 +0000)
recover from elog(ERROR).  Problem was created by introduction of hash seq
search tracking awhile back, and affects all branches that have bgwriter;
in HEAD the disease has snuck into autovacuum and walwriter too.  (Not sure
that the latter two use hash_seq_search at the moment, but surely they might
someday.)  Per report from Sergey Koposov.

src/backend/postmaster/bgwriter.c

index a8c0a679ca70ededbabc580f809fc8c3b773ac90..c91271bb46b599cd73b262538bc1818765a17574 100644 (file)
@@ -255,6 +255,7 @@ BackgroundWriterMain(void)
                /* we needn't bother with the other ResourceOwnerRelease phases */
                AtEOXact_Buffers(false);
                AtEOXact_Files();
+               AtEOXact_HashTables(false);
 
                /* Warn any waiting backends that the checkpoint failed. */
                if (ckpt_active)