db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4097) 'testMixedInsertDelete(org.apache.derbyTesting.functionTests.tests.lang.NullableUniqueConstraintTest)org.apache.derby.client.am.BatchUpdateException'
Date Mon, 16 Mar 2009 16:51:50 GMT

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

Knut Anders Hatlen commented on DERBY-4097:
-------------------------------------------

The use of batch update in this test makes it difficult to see what the real error is, since
one needs to call getNextException() on the BatchUpdateException. There's no real need for
batch update in the failing test case. I wrote it, and I think I used batch update because
I was struggling with some networking issues at that time (high latency on local connections)
so that batch update was much faster.

Removing the use of batch update is one alternative to expose the real error. However, that
will change the timing and may hide this failure if it is timing-sensitive. Another alternative
is to add a wrapper around executeBatch() and call getException() in the test. I have also
noticed that in embedded mode, the underlying exception is available with getCause() and is
therefore reported by JUnit, whereas the client driver (where we see this problem now) does
not do that. So a third option is to make the client driver report these errors the same way
as the embedded driver.

> 'testMixedInsertDelete(org.apache.derbyTesting.functionTests.tests.lang.NullableUniqueConstraintTest)org.apache.derby.client.am.BatchUpdateException'
> -----------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4097
>                 URL: https://issues.apache.org/jira/browse/DERBY-4097
>             Project: Derby
>          Issue Type: Bug
>          Components: Regression Test Failure
>    Affects Versions: 10.5.0.0
>         Environment: OS: 
> Solaris 9 9/04 s9s_u7wos_09 SPARC 64bits 
> SunOS 5.9 Generic_118558-11
> JVM: 
> Sun Microsystems Inc.
> java version "1.5.0_14"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
> Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode)
> OS:
> Solaris 10 5/08 s10x_u5wos_10 X86 64bits
> SunOS 5.10 Generic_127128-11
> JVM:
> Sun Microsystems Inc.
> java version "1.5.0_14"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
> Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode)
>            Reporter: Ole Solberg
>            Priority: Minor
>
> Seen twice....
> See 
> http://dbtg.thresher.com/derby/test/trunk15/jvm1.5/testing/testlog/SunOS-5.9_sun4u-sparc/754716-org.apache.derbyTesting.functionTests.suites.All_diff.txt
> http://dbtg.thresher.com/derby/test/trunk15/jvm1.5/testing/testlog/SunOS-5.10_i86pc-i386/753342-org.apache.derbyTesting.functionTests.suites.All_diff.txt
> 1) testMixedInsertDelete(org.apache.derbyTesting.functionTests.tests.lang.NullableUniqueConstraintTest)org.apache.derby.client.am.BatchUpdateException:
Non-atomic batch failure.  The batch was submitted, but at least one exception occurred on
an individual member of the batch. Use getNextException() to retrieve the exceptions for specific
batched elements.
> 	at org.apache.derby.client.am.Agent.endBatchedReadChain(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.executeBatchRequestX(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.executeBatchX(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.executeBatch(Unknown Source)
> 	at org.apache.derbyTesting.functionTests.tests.lang.NullableUniqueConstraintTest.testMixedInsertDelete(NullableUniqueConstraintTest.java:481)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:105)
> 	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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message