diff --git a/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala b/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala index 46a01f5a9a2cc..f79ddf84a6d71 100644 --- a/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala +++ b/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala @@ -18,7 +18,6 @@ package org.apache.spark.deploy.yarn import java.io.IOException -import java.net.Socket import java.util.concurrent.CopyOnWriteArrayList import java.util.concurrent.atomic.{AtomicInteger, AtomicReference} @@ -58,12 +57,12 @@ class ApplicationMaster(args: ApplicationMasterArguments, conf: Configuration, private val fs = FileSystem.get(yarnConf) private var yarnAllocator: YarnAllocationHandler = _ - private var isFinished: Boolean = false + @volatile private var isFinished: Boolean = false private var uiAddress: String = _ private var uiHistoryAddress: String = _ private val maxAppAttempts: Int = conf.getInt(YarnConfiguration.RM_AM_MAX_RETRIES, YarnConfiguration.DEFAULT_RM_AM_MAX_RETRIES) - private var isLastAMRetry: Boolean = true + @volatile private var isLastAMRetry: Boolean = true // Default to numExecutors * 2, with minimum of 3 private val maxNumExecutorFailures = sparkConf.getInt("spark.yarn.max.executor.failures", diff --git a/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/ExecutorLauncher.scala b/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/ExecutorLauncher.scala index 72c7143edcd71..2021797cf8bb3 100644 --- a/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/ExecutorLauncher.scala +++ b/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/ExecutorLauncher.scala @@ -58,7 +58,7 @@ class ExecutorLauncher(args: ApplicationMasterArguments, conf: Configuration, sp private var yarnAllocator: YarnAllocationHandler = _ private var driverClosed: Boolean = false - private var isFinished: Boolean = false + @volatile private var isFinished: Boolean = false private var registered: Boolean = false // Default to numExecutors * 2, with minimum of 3 diff --git a/yarn/stable/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala b/yarn/stable/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala index 9c2bcf17a8508..62bd10a25cd55 100644 --- a/yarn/stable/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala +++ b/yarn/stable/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala @@ -57,12 +57,12 @@ class ApplicationMaster(args: ApplicationMasterArguments, conf: Configuration, private val fs = FileSystem.get(yarnConf) private var yarnAllocator: YarnAllocationHandler = _ - private var isFinished: Boolean = false + @volatile private var isFinished: Boolean = false private var uiAddress: String = _ private var uiHistoryAddress: String = _ private val maxAppAttempts: Int = conf.getInt( YarnConfiguration.RM_AM_MAX_ATTEMPTS, YarnConfiguration.DEFAULT_RM_AM_MAX_ATTEMPTS) - private var isLastAMRetry: Boolean = true + @volatile private var isLastAMRetry: Boolean = true private var amClient: AMRMClient[ContainerRequest] = _ // Default to numExecutors * 2, with minimum of 3 diff --git a/yarn/stable/src/main/scala/org/apache/spark/deploy/yarn/ExecutorLauncher.scala b/yarn/stable/src/main/scala/org/apache/spark/deploy/yarn/ExecutorLauncher.scala index a7585748b7f88..a6e66dd438c41 100644 --- a/yarn/stable/src/main/scala/org/apache/spark/deploy/yarn/ExecutorLauncher.scala +++ b/yarn/stable/src/main/scala/org/apache/spark/deploy/yarn/ExecutorLauncher.scala @@ -55,7 +55,7 @@ class ExecutorLauncher(args: ApplicationMasterArguments, conf: Configuration, sp private var yarnAllocator: YarnAllocationHandler = _ private var driverClosed: Boolean = false - private var isFinished: Boolean = false + @volatile private var isFinished: Boolean = false private var registered: Boolean = false private var amClient: AMRMClient[ContainerRequest] = _