From: Tom Lane Date: Tue, 11 Sep 2007 17:15:48 +0000 (+0000) Subject: Make sure that open hash table scans are cleaned up when bgwriter tries to X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=339944e6c09b0bd2209d540fd9930995da3b84b4;p=users%2Fbernd%2Fpostgres.git Make sure that open hash table scans are cleaned up when bgwriter tries to 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. --- diff --git a/src/backend/postmaster/bgwriter.c b/src/backend/postmaster/bgwriter.c index 15ec091eb7..e1c4e7660e 100644 --- a/src/backend/postmaster/bgwriter.c +++ b/src/backend/postmaster/bgwriter.c @@ -260,6 +260,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)