You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kristian Waagan (JIRA)" <ji...@apache.org> on 2011/06/21 15:35:47 UTC
[jira] [Created] (DERBY-5290) BaseTestCase.runBare fails to copy
the database because it is in flux
BaseTestCase.runBare fails to copy the database because it is in flux
---------------------------------------------------------------------
Key: DERBY-5290
URL: https://issues.apache.org/jira/browse/DERBY-5290
Project: Derby
Issue Type: Bug
Components: Test
Affects Versions: 10.9.0.0
Reporter: Kristian Waagan
Priority: Minor
If a JUnit assertion is raised, and the test causes the database used to be in flux, the code to copy the database to the fail-directory may fail.
A reason for the database to change on disk may be that a checkpoint has been triggered. I've seen cases where the copy failed when copying log files and stub data files.
Potential fix components:
o wait to let the database stabilize
o delete copy on disk if the copy-operation fails
o delete copy on disk and retry (after a slight pause) if the copy-operation fails
o ignore copy-errors, but write a warning-file to disk?
Example stack trace from a JUnit run:
..F...F.java.io.FileNotFoundException: system/wombat/seg0/d4d0.dat (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.copySingleFile(PrivilegedFileOpsForTests.java:254)
at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.recursiveCopy(PrivilegedFileOpsForTests.java:226)
at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.access$000(PrivilegedFileOpsForTests.java:48)
at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests$6.run(PrivilegedFileOpsForTests.java:185)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.copy(PrivilegedFileOpsForTests.java:183)
at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.recursiveCopy(PrivilegedFileOpsForTests.java:224)
at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.access$000(PrivilegedFileOpsForTests.java:48)
at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests$6.run(PrivilegedFileOpsForTests.java:185)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.copy(PrivilegedFileOpsForTests.java:183)
at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:136)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at junit.textui.TestRunner.doRun(TestRunner.java:121)
at junit.textui.TestRunner.start(TestRunner.java:185)
at junit.textui.TestRunner.main(TestRunner.java:143)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (DERBY-5290) BaseTestCase.runBare fails to copy
the database because it is in flux
Posted by "Myrna van Lunteren (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-5290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Myrna van Lunteren updated DERBY-5290:
--------------------------------------
Urgency: Normal
Labels: derby_triage10_10 (was: )
> BaseTestCase.runBare fails to copy the database because it is in flux
> ---------------------------------------------------------------------
>
> Key: DERBY-5290
> URL: https://issues.apache.org/jira/browse/DERBY-5290
> Project: Derby
> Issue Type: Bug
> Components: Test
> Affects Versions: 10.9.1.0
> Reporter: Kristian Waagan
> Priority: Minor
> Labels: derby_triage10_10
>
> If a JUnit assertion is raised, and the test causes the database used to be in flux, the code to copy the database to the fail-directory may fail.
> A reason for the database to change on disk may be that a checkpoint has been triggered. I've seen cases where the copy failed when copying log files and stub data files.
> Potential fix components:
> o wait to let the database stabilize
> o delete copy on disk if the copy-operation fails
> o delete copy on disk and retry (after a slight pause) if the copy-operation fails
> o ignore copy-errors, but write a warning-file to disk?
> Example stack trace from a JUnit run:
> ..F...F.java.io.FileNotFoundException: system/wombat/seg0/d4d0.dat (No such file or directory)
> at java.io.FileInputStream.open(Native Method)
> at java.io.FileInputStream.<init>(FileInputStream.java:106)
> at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.copySingleFile(PrivilegedFileOpsForTests.java:254)
> at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.recursiveCopy(PrivilegedFileOpsForTests.java:226)
> at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.access$000(PrivilegedFileOpsForTests.java:48)
> at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests$6.run(PrivilegedFileOpsForTests.java:185)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.copy(PrivilegedFileOpsForTests.java:183)
> at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.recursiveCopy(PrivilegedFileOpsForTests.java:224)
> at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.access$000(PrivilegedFileOpsForTests.java:48)
> at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests$6.run(PrivilegedFileOpsForTests.java:185)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.copy(PrivilegedFileOpsForTests.java:183)
> at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:136)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:120)
> at junit.framework.TestSuite.runTest(TestSuite.java:230)
> at junit.framework.TestSuite.run(TestSuite.java:225)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.extensions.TestSetup.run(TestSetup.java:25)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.extensions.TestSetup.run(TestSetup.java:25)
> at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> at junit.framework.TestSuite.runTest(TestSuite.java:230)
> at junit.framework.TestSuite.run(TestSuite.java:225)
> at junit.textui.TestRunner.doRun(TestRunner.java:121)
> at junit.textui.TestRunner.start(TestRunner.java:185)
> at junit.textui.TestRunner.main(TestRunner.java:143)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira