[ 
https://issues.apache.org/jira/browse/DERBY-3875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630704#action_12630704
 ] 

Kristian Waagan commented on DERBY-3875:
----------------------------------------

Thank you for the repro and the patch, Jason.

I can bring the issue forwards, unless you want to do it yourself?
If so, let me know and I'll add you to the Derby developer group so that you 
can assign yourself to the issue.
The way I see it, what remains is to fit the test case into Derby's "test 
framework" (requires some rewriting) and getting someone to review/commit the 
patch :)

FYI, I saw the described behavior on Windows (XP, SP2). Doesn't seem to be a 
problem on Solaris though. In any case, this is a problem that should be fixed 
by closing the opened resources.

> 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
>         Attachments: FileCloseBugDemo.java, RAFContainerPatch.txt
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> 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.

Reply via email to