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: [email protected]
For additional commands, e-mail: [email protected]