From derby-dev-return-63218-apmail-db-derby-dev-archive=db.apache.org@db.apache.org Fri Sep 12 08:26:46 2008 Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 83551 invoked from network); 12 Sep 2008 08:26:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Sep 2008 08:26:46 -0000 Received: (qmail 81072 invoked by uid 500); 12 Sep 2008 08:26:42 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 81046 invoked by uid 500); 12 Sep 2008 08:26:42 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 81027 invoked by uid 99); 12 Sep 2008 08:26:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 12 Sep 2008 01:26:42 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 12 Sep 2008 08:25:42 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id D3665234C1DB for ; Fri, 12 Sep 2008 01:25:44 -0700 (PDT) Message-ID: <694242039.1221207944864.JavaMail.jira@brutus> Date: Fri, 12 Sep 2008 01:25:44 -0700 (PDT) From: "Jason McLaurin (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Created: (DERBY-3875) Derby cannot replace a database after encountering corruption MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Derby cannot replace a database after encountering corruption ------------------------------------------------------------- Key: DERBY-3875 URL: https://issues.apache.org/jira/browse/DERBY-3875 Project: Derby Issue Type: Bug Components: Store Affects Versions: 10.4.2.0 Environment: ------------------ Java Information ------------------ Java Version: 1.6.0_06 Java Vendor: Sun Microsystems Inc. Java home: C:\Program Files\Java\jre1.6.0_06 Java classpath: C:\Working\Derby-fileclose-fix\bin;C:\Working\Derby-fileclose-fix\lib\derby.jar OS name: Windows XP OS architecture: x86 OS version: 5.1 Java user name: Administrator Java user home: C:\Documents and Settings\Administrator Java user dir: C:\Working\Derby-fileclose-fix java.specification.name: Java Platform API Specification java.specification.version: 1.6 --------- Derby Information -------- JRE - JDBC: Java SE 6 - JDBC 4.0 [C:\Working\Derby-fileclose-fix\lib\derby.jar] 10.4.2.0 - (689064) ------------------------------------------------------ ----------------- Locale Information ----------------- ------------------------------------------------------ Reporter: Jason McLaurin When Derby encounters a corrupt data file, it does not close the data file before throwing an exception to the caller. If the user tries to replace the database with a backup in response to the corruption, Derby will first attempt to delete the contents of the corrupt database. But since the corrupt file was never closed, it cannot be deleted, and Derby fails to start. The attached java code should reproduce the problem, and the attached patch should fix it. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.