db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-3740) BlobClob4BlobTest.testLockingWithLongRowBlob fails with .AssertionFailedError: FAIL - statement should timeout
Date Sat, 04 Feb 2012 00:17:55 GMT

    [ 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

        

Mime
View raw message