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

Dag H. Wanvik commented on DERBY-5074:
--------------------------------------

This is a test error: when the insert occasionally gets interrupted while 
waiting for a lock it can throw in the test code (the original code didn't see 
this - it was retrofitted), and miss one or more inserts, making the assert on 
the number of rows inserted fail. The fix will be to just note how many times 
we missed an insert and change the loops control somewhat,

> test failure(s) with IBM 1.4.2 in 
> store.InterruptResilienceTest.testRAFWriteInterrupted: java.sql.SQLException: 
> The exception 'junit.framework.AssertionFailedError: interrupt flag lost' was 
> thrown while evaluating an expression. 
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5074
>                 URL: https://issues.apache.org/jira/browse/DERBY-5074
>             Project: Derby
>          Issue Type: Bug
>          Components: Store, Test
>    Affects Versions: 10.8.0.0
>         Environment: windows XP and Suse Linux with ibm 1.4.2.
>            Reporter: Myrna van Lunteren
>            Priority: Minor
>              Labels: derby_triage10_8
>
> Since February 17, I see this failure:
> 1) 
> testRAFWriteInterrupted(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)
>  java.sql.SQLException: The exception 'junit.framework.AssertionFailedError: 
> interrupt flag lost' was thrown while evaluating an expression.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown 
> Source)
>       at 
> org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.testRAFWriteInterrupted(InterruptResilienceTest.java:204)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled
>  Code))
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled
>  Code))
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled
>  Code))
>       at 
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java(Compiled 
> Code))
>       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 junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>       at junit.extensions.TestSetup.run(TestSetup.java:23)
> Caused by: java.sql.SQLException: Java exception: 'interrupt flag lost: 
> junit.framework.AssertionFailedError'.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
> Source)
>       ... 46 more
> Caused by: junit.framework.AssertionFailedError: interrupt flag lost
>       at 
> org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.tstRAFwriteInterrupted(InterruptResilienceTest.java(Compiled
>  Code))
>       at 
> org.apache.derby.exe.ac0b5b0099x012ex376dx55e3x00000a2ef4be0.g0(Unknown 
> Source)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled
>  Code))
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled
>  Code))
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled
>  Code))
>       at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
>       at 
> org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
>       at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
> Source)
>       ... 42 more
> twice (February 20 and February 25) this was followed by a second test 
> failure:
> 2) 
> testRAFReadWriteMultipleThreads(org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest)java.sql.SQLException:
>  The exception 'junit.framework.AssertionFailedError: Column value mismatch @ 
> column '1', row 1:
>     Expected: >30000<
>     Found:    >29999<' was thrown while evaluating an expression.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown 
> Source)
>       at 
> org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.testRAFReadWriteMultipleThreads(InterruptResilienceTest.java:515)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled
>  Code))
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled
>  Code))
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled
>  Code))
>       at 
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java(Compiled 
> Code))
>       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 junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>       at junit.extensions.TestSetup.run(TestSetup.java:23)
> Caused by: java.sql.SQLException: Java exception: 'Column value mismatch @ 
> column '1', row 1:
>     Expected: >30000<
>     Found:    >29999<: junit.framework.AssertionFailedError'.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>       at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
> Source)
>       ... 46 more
> Caused by: junit.framework.AssertionFailedError: Column value mismatch @ 
> column '1', row 1:
>     Expected: >30000<
>     Found:    >29999<
>       at 
> org.apache.derbyTesting.junit.JDBC.assertRowInResultSet(JDBC.java(Compiled 
> Code))
>       at 
> org.apache.derbyTesting.junit.JDBC.assertRowInResultSet(JDBC.java(Inlined 
> Compiled Code))
>       at 
> org.apache.derbyTesting.junit.JDBC.assertFullResultSetMinion(JDBC.java(Compiled
>  Code))
>       at 
> org.apache.derbyTesting.junit.JDBC.assertFullResultSet(JDBC.java(Inlined 
> Compiled Code))
>       at 
> org.apache.derbyTesting.junit.JDBC.assertFullResultSet(JDBC.java(Inlined 
> Compiled Code))
>       at 
> org.apache.derbyTesting.junit.JDBC.assertFullResultSet(JDBC.java(Inlined 
> Compiled Code))
>       at 
> org.apache.derbyTesting.junit.JDBC.assertSingleValueResultSet(JDBC.java(Compiled
>  Code))
>       at 
> org.apache.derbyTesting.functionTests.tests.store.InterruptResilienceTest.tstRAFReadWriteMultipleThreads(InterruptResilienceTest.java:265)
>       at 
> org.apache.derby.exe.ac070a00b0x012ex46e5x5b33x0000368ebfa60.g0(Unknown 
> Source)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled
>  Code))
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled
>  Code))
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled
>  Code))
>       at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
>       at 
> org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
>       at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
> Source)
>       ... 42 more
> See for instance: 
> http://people.apache.org/~myrnavl/derby_test_results/main/linux/testlog/ibm142/1071866-suites.All_diff.txt
> and:
> http://people.apache.org/~myrnavl/derby_test_results/main/linux/testlog/ibm142/1072825-suites.All_diff.txt
> I can reproduce the first failure on my laptop with Windows XP with ibm 1.4.2 
> (in fact, I got the same failure twice, I assume once with 
> NetworkServer/client, once with embedded) by just running the test.
> This popping up on the 17th is because this test didn't run with ibm 1.4.2 
> for a while before revision 1071754 (see DERBY-4463, but this is a different 
> problem.)
> I marked this 'store', but this test doesn't fail with Sun's 1.4.2 jvm, 
> judging from the results at 
> http://dbtg.foundry.sun.com/derby/test/Daily/jvm1.4/testing/Limited/ , so 
> it's possible there's a jvm issue here.

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

        

Reply via email to