db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4915) test failure in OSReadOnlyTest in assertDirectoryDeleted
Date Fri, 18 Feb 2011 18:53:38 GMT

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

Mike Matrigali commented on DERBY-4915:
---------------------------------------

The OSReadOnly test is a single use database test, which explains why it is having trouble
with cleanup more often than other
tests.  It also does some file manupulation of the database files itself.

I think the patch looks good and would be fine with it being checked in.  I agree with the
comments that a real derby bug would more 
likely just keep the file open forevery than just a little while after closing.  A reasonable
derby explanation of current behavior would be that a "shutdown=true" actually does not wait
for a complete shutdown before returning - so  a shutdown could be happening while the cleanup
is happening.  Or it could be a delayed write thing on windows.  I am not sure why this is
happening recently and not in older
code lines - but maybe the tests have changed.

It might be reasonable to put in a slight wait in harness after any attempt to shutdown a
database, as I think this is what we tell customers.  

> test failure in OSReadOnlyTest in assertDirectoryDeleted
> --------------------------------------------------------
>
>                 Key: DERBY-4915
>                 URL: https://issues.apache.org/jira/browse/DERBY-4915
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.7.1.1
>         Environment: windows XP, ibm 1.6 
>            Reporter: Myrna van Lunteren
>         Attachments: derby-4915-1a-more_persistent_delete.diff
>
>
> I've seen the assert flag a failure for deleteing a log file last night, and a seg0 file
the night before.
> This is one stack trace:
> 1) testOSReadOnly(org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest)junit.framework.AssertionFailedError:
Failed to delete 2 files (root=F:\test\JarResults.2010-11-23\ibm16_suites.All\system\singleUse\readWrite:
F:\test\JarResults.2010-11-23\ibm16_suites.All\system\singleUse\readWrite\log (isDir=true,
canRead=true, canWrite=true, size=0), F:\jartest\JarResults.2010-11-23\ibm16_suites.All\system\singleUse\readWrite
(isDir=true, canRead=true, canWrite=true, size=0)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertDirectoryDeleted(BaseJDBCTestCase.java:1421)
> 	at org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest.moveDatabaseOnOS(OSReadOnlyTest.java:295)
> 	at org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest.testOSReadOnly(OSReadOnlyTest.java:160)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:16)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:16)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:16)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:16)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:16)
> This is another:
> 1) testOSReadOnly(org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest)junit.framework.AssertionFailedError:
Failed to delete 2 files (root=F:\test\JarResults.2010-11-22\ibm16_suites.All\system\singleUse\readOnly:
F:\test\JarResults.2010-11-22\ibm16_suites.All\system\singleUse\readOnly\seg0 (isDir=true,
canRead=true, canWrite=true, size=0), F:\jartest\JarResults.2010-11-22\ibm16_suites.All\system\singleUse\readOnly
(isDir=true, canRead=true, canWrite=true, size=0)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertDirectoryDeleted(BaseJDBCTestCase.java:1421)
> 	at org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest.moveDatabaseOnOS(OSReadOnlyTest.java:295)
> 	at org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest.testOSReadOnly(OSReadOnlyTest.java:152)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:16)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:16)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:16)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:16)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:16)
> This is on a machine that I've been able to arrange for a windows machine on which to
run the tests for 10.7 nightly, but this is not a new machine. So perhaps the disk - being
older - is a little slow in deleting? Perhaps the check can be delayed, or redone if failed
first time. 
> I'm still investigating, checking on hardware settings. The disk scan showed up healthy,
and multithreading is not on. 

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message