Github user tgravescs commented on a diff in the pull request:
https://github.com/apache/spark/pull/3484#discussion_r21039416
--- Diff:
yarn/common/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala
---
@@ -106,10 +106,14 @@ private[spark] class ApplicationMaster(args:
ApplicationMasterArguments,
val isLastAttempt = client.getAttemptId().getAttemptId() >=
maxAppAttempts
if (!finished) {
- // this shouldn't ever happen, but if it does assume weird
failure
- finish(FinalApplicationStatus.FAILED,
+ // This happens when the user application calls System.exit().
We have the choice
+ // of either failing of succeeding at this point. We report
success to avoid
+ // retrying applications that have succeeded (System.exit(0)),
which means that
+ // applications that explicitly exit with a non-zero status
will also show up as
+ // succeeded in the RM UI.
+ finish(finalStatus,
ApplicationMaster.EXIT_UNCAUGHT_EXCEPTION,
--- End diff --
since this is no longer an unexpected failure and could be success we
should change the exit code. On success should be
ApplicationMaster.EXIT_SUCCESS.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]