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