[ 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)