X-Original-To: pgsql-admin-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id 2B638DA74A; Mon, 21 Nov 2005 19:05:58 -0400 (AST) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 88162-04; Mon, 21 Nov 2005 23:05:59 +0000 (GMT) X-Greylist: from auto-whitelisted by SQLgrey- X-Greylist: from auto-whitelisted by SQLgrey- Received: from flake.decibel.org (flake.decibel.org [67.100.216.10]) by svr1.postgresql.org (Postfix) with ESMTP id 336C7DA734; Mon, 21 Nov 2005 19:05:55 -0400 (AST) Received: by flake.decibel.org (Postfix, from userid 1001) id 3A2E91525F; Mon, 21 Nov 2005 17:05:57 -0600 (CST) Date: Mon, 21 Nov 2005 17:05:57 -0600 From: "Jim C. Nasby" To: Magnus Hagander Cc: Kevin Grittner , tgl@sss.pgh.pa.us, zhouqq@cs.toronto.edu, icub3d@gmail.com, pgsql-admin@postgresql.org, pgsql-hackers@postgresql.org Subject: Re: [HACKERS] ERROR: could not read block Message-ID: <20051121230556.GP19279@pervasive.com> References: <6BCB9D8A16AC4241919521715F4D8BCE92E86E@algol.sollentuna.se> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6BCB9D8A16AC4241919521715F4D8BCE92E86E@algol.sollentuna.se> X-Operating-System: FreeBSD 4.11-RELEASE-p10 i386 X-Distributed: Join the Effort! http://www.distributed.net User-Agent: Mutt/1.5.9i X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, score=0.016 required=5 tests=[AWL=0.016] X-Spam-Score: 0.016 X-Spam-Level: X-Archive-Number: 200511/290 X-Sequence-Number: 19663 On Thu, Nov 17, 2005 at 07:56:21PM +0100, Magnus Hagander wrote: > The way I read it, a delay should help. It's basically running out of > kernel buffers, and we just delay, somebody else (another process, or an > IRQ handler, or whatever) should get finished with their I/O, free up > the buffer, and let us have it. Looking around a bit I see several > references that you should retry on it, but nothing in the API docs. > I do think it's probably a good idea to do a short delay before retrying > - at least to yield the CPU for one slice. That would greatly increase > the probability of someone else finishing their I/O... If that makes it into code, ISTM it would be good if it also threw a NOTICE so that users could see if this was happening; kinda like the notice about log files being recycled frequently. -- Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461