Jinhan Zhong created SPARK-22876:
------------------------------------

             Summary: spark.yarn.am.attemptFailuresValidityInterval does not 
work correctly
                 Key: SPARK-22876
                 URL: https://issues.apache.org/jira/browse/SPARK-22876
             Project: Spark
          Issue Type: Bug
          Components: YARN
    Affects Versions: 2.2.0
         Environment: hadoop version 2.7.3
            Reporter: Jinhan Zhong
            Priority: Minor


I assume we can use spark.yarn.maxAppAttempts together with 
spark.yarn.am.attemptFailuresValidityInterval to make a long running 
application avoid stopping  after acceptable number of failures.

But after testing, I found that the application always stops after failing n 
times ( n is minimum value of spark.yarn.maxAppAttempts and 
yarn.resourcemanager.am.max-attempts from client yarn-site.xml)

for example, following setup will allow the application master to fail 20 times.
* spark.yarn.am.attemptFailuresValidityInterval=1s
* spark.yarn.maxAppAttempts=20
* yarn client: yarn.resourcemanager.am.max-attempts=20
* yarn resource manager: yarn.resourcemanager.am.max-attempts=3

And after checking the source code, I found in source file 
ApplicationMaster.scala 
https://github.com/apache/spark/blob/master/resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala#L293[https://github.com/apache/spark/blob/master/resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala#L293]

there's a ShutdownHook that checks the attempt id against the maxAppAttempts, 
if attempt id >= maxAppAttempts, it will try to unregister the application and 
the application will finish.

is this a expected design or a bug?




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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to