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

Reply via email to