Peter Bacsko created YARN-10191: ----------------------------------- Summary: FS-CS converter: call System.exit() for every code path in main() Key: YARN-10191 URL: https://issues.apache.org/jira/browse/YARN-10191 Project: Hadoop YARN Issue Type: Sub-task Reporter: Peter Bacsko Assignee: Peter Bacsko
Note that we don't always call {{System.exit()}} on the happy path scenario in the converter: {code:java} public static void main(String[] args) { try { FSConfigToCSConfigArgumentHandler fsConfigConversionArgumentHandler = new FSConfigToCSConfigArgumentHandler(); int exitCode = fsConfigConversionArgumentHandler.parseAndConvert(args); if (exitCode != 0) { LOG.error(FATAL, "Error while starting FS configuration conversion, " + "see previous error messages for details!"); System.exit(exitCode); } } catch (Throwable t) { LOG.error(FATAL, "Error while starting FS configuration conversion!", t); System.exit(-1); } } {code} This is a mistake. If there's any non-daemon thread hanging around which was started by either FS or CS, the tool will never terminate. We must call {{System.exit()}} in every occasion to make sure that it never blocks at the end. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-dev-h...@hadoop.apache.org