Greg Mann created MESOS-7680:
--------------------------------

             Summary: Stop using EXIT() in master/agent initialization code
                 Key: MESOS-7680
                 URL: https://issues.apache.org/jira/browse/MESOS-7680
             Project: Mesos
          Issue Type: Improvement
          Components: agent, master
            Reporter: Greg Mann


The initialization of master/agent dependencies is currently inconsistent. For 
some dependencies, we initialize them outside of the actor and then inject them 
via the constructor; for example, in {{main.cpp}} and {{cluster.cpp}}.

Some other dependencies are created/initialized within the master/slave's 
{{initialize()}} method. In this case, if the dependency creation fails, we use 
{{EXIT(EXIT_FAILURE)}} to terminate the process. In the case of tests, this is 
problematic. If I create multiple agents, for example, and one of their 
dependencies fails to initialize successfully, the entire test harness would 
exit :-(

Instead of using {{EXIT}} when dependency creation fails, we should terminate 
the master/agent libprocess process. In the case of the production binaries, 
this will cause the executable to exit. In the case of our tests, this will 
allow a single test to fail, while the test harness continues running.





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to