Received: from localhost (maia-3.hub.org [200.46.204.184]) by postgresql.org (Postfix) with ESMTP id 967949FA304 for ; Fri, 29 Dec 2006 14:35:15 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.184]) (amavisd-new, port 10024) with ESMTP id 21308-07 for ; Fri, 29 Dec 2006 14:35:06 -0400 (AST) X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 Received: from mail01.enterprisedb.com (mail01.enterprisedb.com [63.246.7.168]) by postgresql.org (Postfix) with ESMTP id AA2569F9F47 for ; Fri, 29 Dec 2006 14:35:07 -0400 (AST) thread-index: AccreBO5nbuFiSdLSUS61hHjB6/Peg== Received: from [192.168.0.22] ([62.232.55.118]) by mail01.enterprisedb.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 29 Dec 2006 13:35:12 -0500 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.2757 Content-Class: urn:content-classes:message Importance: normal Subject: Re: URGENT: Out of disk space pg_xlog From: "Simon Riggs" To: "Bruce Momjian" Cc: "Jeremy Haile" , In-Reply-To: <200612231813.kBNIDpK24705@momjian.us> References: <200612231813.kBNIDpK24705@momjian.us> Content-Type: text/plain; charset="iso-8859-1" Date: Fri, 29 Dec 2006 18:18:18 +0000 Message-ID: <1167416298.3903.230.camel@silverbirch.site> MIME-Version: 1.0 X-Mailer: Evolution 2.6.0 Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 29 Dec 2006 18:35:12.0796 (UTC) FILETIME=[139525C0:01C72B78] X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200612/534 X-Sequence-Number: 22590 On Sat, 2006-12-23 at 13:13 -0500, Bruce Momjian wrote: > The bottom line is that we know of now cases where a long-running > transaction would delay recycling of the WAL files, so there is > certainly something not understood here. We can see from all of this that a checkpoint definitely didn't occur. Tom's causal chain was just one way that could have happened, there could well be others. I've noticed previously that a checkpoint can be starved out when trying to acquire the CheckpointStartLock. I've witnessed a two minute delay plus in obtaining the lock in the face of heavy transactions. If wal_buffers is small enough, WAL write rate high enough and the transaction rate high enough, a long queue can form for the WALWriteLock, which ensures that the CheckpointStartLock would queue indefinitely. I've tried implementing a queueable shared lock for the CheckpointStartLock. That helps the checkpoint, but it harms performance of other transactions waiting to commit, so I let that idea go. -- Simon Riggs EnterpriseDB http://www.enterprisedb.com