[ 
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

Reply via email to