zuotingbing commented on a change in pull request #24848: [SPARK-28014][core] 
All waiting apps will be changed to the wrong state of Running after master 
changed.
URL: https://github.com/apache/spark/pull/24848#discussion_r294668327
 
 

 ##########
 File path: core/src/main/scala/org/apache/spark/deploy/master/Master.scala
 ##########
 @@ -561,7 +561,7 @@ private[deploy] class Master(
     apps.filter(_.state == ApplicationState.UNKNOWN).foreach(finishApplication)
 
     // Update the state of recovered apps to RUNNING
-    apps.filter(_.state == ApplicationState.WAITING).foreach(_.state = 
ApplicationState.RUNNING)
+    apps.filter(_.coresGranted > 0).foreach(_.state = ApplicationState.RUNNING)
 
 Review comment:
   >For example, in dynamic allocation mode, app A is running on HA Standalone. 
And master just happens to change during the time app A has released all of its 
executors, which result in `coresGranted=0`. Then, app A can't recover to 
RUNNING but remain in WAITING at this time. 
   
   After debug, i found when the app gain executors again, the app can update 
to RUNNING from WAITING. So it may be OK in master changed scenario that if app 
gained 0 executors we set it to WAITING state as usual as an app init do.
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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

Reply via email to