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

Alejandro Abdelnur commented on OOZIE-1597:
-------------------------------------------

+1 LGTM

> Cleanup database before every test
> ----------------------------------
>
>                 Key: OOZIE-1597
>                 URL: https://issues.apache.org/jira/browse/OOZIE-1597
>             Project: Oozie
>          Issue Type: Improvement
>          Components: tests
>    Affects Versions: trunk
>            Reporter: Robert Kanter
>            Assignee: Robert Kanter
>         Attachments: OOZIE-1597.patch
>
>
> While investigating a flakey test 
> ({{org.apache.oozie.sla.TestSLAJobEventListener.testOnJobEvent}}) I realized 
> that some of the flakey SLA tests that I've seen lately are the same issue: 
> The database has some leftover stuff from a previous test that its not 
> expecting.  
> Normally this is easy to fix because we can simply call 
> {{cleanUpDBTables()}}.  However, {{cleanUpDBTables}} requires some of the 
> {{Services}} to be running, so you have to call it after starting 
> {{Services}}; but, some of the failures were occurring during Services 
> initialization (specifically when {{SLAService}} initializes the 
> {{SLACalculatorMemory}}, which tries to load some data from the database, 
> which may be incomplete (e.g. SLA registration for a job that doesn't 
> exist)).  So, in this case, we can't call {{cleanUpDBTables()}} before or 
> after starting {{Services}}.
> This brings the larger issue that we should be cleaning up the database 
> before every test anyway to make sure that the tests are truly independent 
> and to prevent harmful leaking (just like we did a while back with the 
> {{Services}}).  I think we should have {{XTestCase.setup()}} call 
> {{cleanUpDBTables()}} so that every test automatically it (and handle the 
> {{Services}} dependency appropriately).



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to