When running test TestMRAppComponentDependencies, surefire exits with the following message:
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test (default-test) on project hadoop-mapreduce-client-app: ExecutionException; nested exception is java.util.concurrent.ExecutionException: java.lang.RuntimeException: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
The following code is found in o.a.h.mapreduce.v2.app.MRAppMaster#shutDownJob, which the test case inherits. So, before the test testComponentStopOrder completes in TestMRAppComponentDependencies, shutDownJob finishes executing and exits the JVM, thus causing the error. Based on the comment, the System.exit(0) is there as a workaround for before
HADOOP-7140. Since the patch for HADOOP-7140 is committed in branch-2, are we safe to remove the System.exit call now.
//Bring the process down by force.
//Not needed after
LOG.info("Exiting MR AppMaster..GoodBye!");