Robert Kanter created OOZIE-1114:
------------------------------------
Summary: Some tests don't use the Services singleton properly
Key: OOZIE-1114
URL: https://issues.apache.org/jira/browse/OOZIE-1114
Project: Oozie
Issue Type: Bug
Affects Versions: trunk
Reporter: Robert Kanter
Assignee: Robert Kanter
Fix For: trunk
Some of the test classes keep a reference to the Services singleton as a class
variable and then also re-create the Services in some of its test methods.
This can cause it to not properly shut down all of the actual services, which
can is causing (at least some of) the flakey test failures because some of
those still running services interfere with some of the tests.
The typical pattern where this issue is happening looks like this:
{code}
public class TestWhatever {
private Services services1;
setup() {
services1 = new Services();
services1.init();
}
testSomething() {
Services.get().destroy(); // destroys services1's services
Services services2 = new Services(); // services1 no longer
points to the internal singleton
services2.init();
}
tearDown() {
services1.destroy(); // does not destroy the services started
by services2, but does set the internal singleton to null so we've now lost the
only remaining reference to those services
}
{code}
You can see a concrete example of this by looking at
TestStatusTransitService.testCoordStatusTransitServiceSuspendedWithError
--
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