Return-Path: Delivered-To: apmail-db-derby-user-archive@www.apache.org Received: (qmail 63718 invoked from network); 14 May 2009 11:49:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 14 May 2009 11:49:13 -0000 Received: (qmail 40267 invoked by uid 500); 14 May 2009 11:49:12 -0000 Delivered-To: apmail-db-derby-user-archive@db.apache.org Received: (qmail 40205 invoked by uid 500); 14 May 2009 11:49:12 -0000 Mailing-List: contact derby-user-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Discussion" Delivered-To: mailing list derby-user@db.apache.org Received: (qmail 40197 invoked by uid 99); 14 May 2009 11:49:12 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 May 2009 11:49:12 +0000 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [192.18.6.24] (HELO gmp-eb-inf-2.sun.com) (192.18.6.24) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 May 2009 11:49:01 +0000 Received: from fe-emea-09.sun.com (gmp-eb-lb-1-fe3.eu.sun.com [192.18.6.10]) by gmp-eb-inf-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n4EBmeEq026583 for ; Thu, 14 May 2009 11:48:40 GMT MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII Received: from conversion-daemon.fe-emea-09.sun.com by fe-emea-09.sun.com (Sun Java(tm) System Messaging Server 7u2-7.02 64bit (built Apr 16 2009)) id <0KJM00J00TOCJ000@fe-emea-09.sun.com> for derby-user@db.apache.org; Thu, 14 May 2009 12:48:40 +0100 (BST) Received: from localhost ([unknown] [129.159.112.134]) by fe-emea-09.sun.com (Sun Java(tm) System Messaging Server 7u2-7.02 64bit (built Apr 16 2009)) with ESMTPSA id <0KJM00599U51EOF0@fe-emea-09.sun.com> for derby-user@db.apache.org; Thu, 14 May 2009 12:48:37 +0100 (BST) Date: Thu, 14 May 2009 13:48:36 +0200 From: Knut Anders Hatlen Subject: Re: Unexplained exception: temp file cannot be found In-reply-to: Sender: Knut.Hatlen@Sun.COM To: Derby Discussion Message-id: Organization: Sun Microsystems References: User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.93 (usg-unix-v) X-Virus-Checked: Checked by ClamAV on apache.org Tim Dudgeon writes: > Dag H. Wanvik wrote: >> >> It looks as if the creating of a temporary file failed. Does the path >> exist >> (C:\Users\Csizi\Documents\IJCProjects\ijc-project\.config\localdb\db\tmp), >> and if so, is it writable for this account? >> >> Dag >> > > Yes, the user has confirmed that this directory does not now exist: > C:\Users\Csizi\Documents\IJCProjects\ijc-project\.config\localdb\db\tmp > > but that its parent directory does exist, and does have write access > (but this is Vista so strange things could be happening!). > > I would imagine that the tmp directory would be created automatically > by Derby when it needed it. It is not normally present. Yes, there is code that's supposed to take care of that right before the code that fails, and it's supposed to throw an exception if the directory cannot be created. Perhaps there's something that's removing the directory (but I didn't think Derby would remove the directory except when performing a clean shutdown of the database). FileNotFoundException is the only kind of IOException RandomAccessFile's constructor is allowed to throw, and the javadoc states that it can be thrown "(...) or if some other error occurs while opening or creating the file", so the problem could really be anything I/O-related. > What would the cause of generating the temporary file? The stack trace indicates that this happens during a cascading delete operation (deleting a row that is referenced from another table with ON DELETE CASCADE). For this kind of delete operations, Derby uses deferred deletes and needs to keep a list of rows to delete until it's ready to perform the actual deletion. The list of rows is kept in a temporary conglomerate/file. -- Knut Anders