db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5866) testFiringConstraintOrder(org.apache.derbyTesting.functionTests.tests.lang.TriggerTest)junit.framework.AssertionFailedError: matching triggers need to be fired in order creation:1,NO CASCADE BEFORE,DELETE,ROW
Date Wed, 24 Apr 2013 20:53:16 GMT

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

Mamta A. Satoor commented on DERBY-5866:
----------------------------------------

The purpose of the failing test is to check that the triggers get fired in the order they
were created. We have been seeing intermittent failures in this test. It failed in 10.10 codeline
recently. 
http://people.apache.org/~myrnavl/derby_test_results/v10_10/windows/testlog/ibm16/1471229-suites.All_diff.txt


Last week, I had added some debugging info into the test to show the order in which the triggers
got fired when the test finds that the triggers have fired in a order different than the order
of creation. I have copied that information from the last failed run below(with some edits
to make the message more readable)

matching triggers need to be fired in order creation:
       11,NO CASCADE BEFORE,UPDATE,STATEMENT. 

Triggers got fired in this order:
 4,NO CASCADE BEFORE,UPDATE,STATEMENT, 
13,NO CASCADE BEFORE,UPDATE,ROW, 
11,NO CASCADE BEFORE,UPDATE,STATEMENT, 
18,NO CASCADE BEFORE,UPDATE,ROW, 
24,NO CASCADE BEFORE,UPDATE,STATEMENT, 
26,NO CASCADE BEFORE,UPDATE,STATEMENT, 
29,NO CASCADE BEFORE,UPDATE,ROW, 
33,NO CASCADE BEFORE,UPDATE,ROW


As per the list "Triggers got fired in this order:", it appears that trigger 13 got fired
before trigger 11 and that causes the test to fail. Notice that all of these trigger are for
UPDATE and they are all BEFORE triggers but they are a mix of STATEMENT and ROW triggers.
If my understanding if correct, then STATEMENT and ROW triggers should get fired in the order
they were created ie I do not think all the STATEMENT triggers have to fire before the ROW
triggers can fire. If that is correct, then I am not sure why trigger number 13 got fired
before trigger number 11. I am thinking of putting another piece of debugging info in case
of failure, which is to print the order in which the triggers got created. I do not believe
that trigger 13 could have gotten created before trigger 13(as per TriggerTest.createRandomTriggers
method) but it might be helpful to have that information too during the test failure. In the
mean time, I will try to hand create a database with the BEFORE UPDATE  triggers listed above
and see if I can somehow reproduce the problem. I will highly appreciate if anyone on the
list has any ideas based on the information provided. Thanks

                
>  testFiringConstraintOrder(org.apache.derbyTesting.functionTests.tests.lang.TriggerTest)junit.framework.AssertionFailedError:
matching triggers need to be fired in order creation:1,NO CASCADE BEFORE,DELETE,ROW
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5866
>                 URL: https://issues.apache.org/jira/browse/DERBY-5866
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.10.1.1, 10.10.1.2
>         Environment: Windows IBM 1.6 10.10.0.0 alpha - (1361856)
>            Reporter: Kathey Marsden
>            Assignee: Mamta A. Satoor
>              Labels: derby_triage10_10
>             Fix For: 10.8.3.1, 10.9.2.2, 10.10.1.2, 10.11.0.0
>
>
> I saw this failure in the IBM nightlies on 7/15. The subsequent night did not fail, so
appears intermittent
> http://cloudsoft.usca.ibm.com/intranet/nightlies/derbywinvm/JarResults.2012-07-15/ibm16_suites.All/suites.All.out
> 1) testFiringConstraintOrder(org.apache.derbyTesting.functionTests.tests.lang.TriggerTest)junit.framework.AssertionFailedError:
matching triggers need to be fired in order creation:1,NO CASCADE BEFORE,DELETE,ROW
> 	at org.apache.derbyTesting.functionTests.tests.lang.TriggerTest.assertFiringOrder(TriggerTest.java:560)
> 	at org.apache.derbyTesting.functionTests.tests.lang.TriggerTest.testFiringConstraintOrder(TriggerTest.java:500)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:117)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:424)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:441)
> 	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.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message