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 "Mike Matrigali (Commented) (JIRA)" <ji...@apache.org> on 2012/02/04 01:17:55 UTC
[jira] [Commented] (DERBY-3740)
BlobClob4BlobTest.testLockingWithLongRowBlob fails with
.AssertionFailedError: FAIL - statement should timeout
[ https://issues.apache.org/jira/browse/DERBY-3740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13200188#comment-13200188 ]
Mike Matrigali commented on DERBY-3740:
---------------------------------------
ran just the testLockingBlob test on slow laptop, running windows, ibm16 100 times. Got 50 failures in 44 runs. Always
in embedded run, never net. I just hand edited the file to just run that one test, but it gets run 3 times. Can anyone explain what determines the number of times a test gets run.
I added some extra asserts to verify the test assumptions about page size and that the rows were actually being
seen, but none of those popped. I am now thinking that it may be some garbage collection issue as the code has
a reference to the blob but never uses it again in the routine, so I guess it would valid for jvm/jit to gc the reference
before the routine returns. And we have code that changes finalize to close the blob stream, which will release a lock,
which would then break this test.
I am using the following to run the test:
java -Dderby.tests.trace=true junit.textui.TestRunner org.apache.derbyTesting.functionTests.tests.jdbcapi.BlobClob4BlobTest >>test3.out 2>&1
The output for a fail run where the test failed twice looks like:
.
(emb)jdbcapi.b.testLockingBlob used 4437 ms F.
(net)jdbcapi.b.testLockingBlob used 6672 ms .
(emb)jdbcapi.b.testLockingBlob used 2937 ms F
Time: 84.171
There were 2 failures:
1) testLockingBlob(org.apache.derbyTesting.functionTests.tests.jdbcapi.b)junit.f
ramework.AssertionFailedError: FAIL - should have gotten lock timeout
at org.apache.derbyTesting.functionTests.tests.jdbcapi.b.testLockingBlob(b.j
ava:2435)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
mpl.java:37)
at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:116)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
2) testLockingBlob(org.apache.derbyTesting.functionTests.tests.jdbcapi.b)junit.f
ramework.AssertionFailedError: FAIL - should have gotten lock timeout
at org.apache.derbyTesting.functionTests.tests.jdbcapi.b.testLockingBlob(b.j
ava:2435)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
mpl.java:37)
at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:116)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
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.extensions.TestSetup.run(TestSetup.java:25)
at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
FAILURES!!!
Tests run: 3, Failures: 2, Errors: 0
> BlobClob4BlobTest.testLockingWithLongRowBlob fails with .AssertionFailedError: FAIL - statement should timeout
> --------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3740
> URL: https://issues.apache.org/jira/browse/DERBY-3740
> Project: Derby
> Issue Type: Bug
> Components: Test
> Affects Versions: 10.3.3.1, 10.8.2.3, 10.9.0.0
> Reporter: Mamta A. Satoor
> Labels: derby_triage10_8
>
> The test failure looks as follows
> testLockingWithLongRowBlob(org.apache.derbyTesting.functionTests.tests.jdbcapi.BlobClob4BlobTest)junit.framework.AssertionFailedError: FAIL - statement should timeout
> at org.apache.derbyTesting.functionTests.tests.jdbcapi.BlobClob4BlobTest.testLockingWithLongRowBlob(BlobClob4BlobTest.java:2383)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
> at <unknown class>.<unknown method>(Unknown Source)
> at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:88)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.extensions.TestSetup.run(TestSetup.java:23)
> 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:23)
> at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira