diff --git a/core/src/main/scala/org/apache/spark/resource/ResourceProfileManager.scala b/core/src/main/scala/org/apache/spark/resource/ResourceProfileManager.scala index afbacb8013645..580a5b7bb07ac 100644 --- a/core/src/main/scala/org/apache/spark/resource/ResourceProfileManager.scala +++ b/core/src/main/scala/org/apache/spark/resource/ResourceProfileManager.scala @@ -45,11 +45,6 @@ private[spark] class ResourceProfileManager(sparkConf: SparkConf, (lock.readLock(), lock.writeLock()) } - private val defaultProfile = ResourceProfile.getOrCreateDefaultProfile(sparkConf) - addResourceProfile(defaultProfile) - - def defaultResourceProfile: ResourceProfile = defaultProfile - private val dynamicEnabled = Utils.isDynamicAllocationEnabled(sparkConf) private val master = sparkConf.getOption("spark.master") private val isYarn = master.isDefined && master.get.equals("yarn") @@ -60,12 +55,18 @@ private[spark] class ResourceProfileManager(sparkConf: SparkConf, private val notRunningUnitTests = !isTesting private val testExceptionThrown = sparkConf.get(RESOURCE_PROFILE_MANAGER_TESTING) + private val defaultProfile = ResourceProfile.getOrCreateDefaultProfile(sparkConf) + addResourceProfile(defaultProfile) + + def defaultResourceProfile: ResourceProfile = defaultProfile + /** * If we use anything except the default profile, it's supported on YARN, Kubernetes and * Standalone with dynamic allocation enabled, and task resource profile with dynamic allocation * disabled on Standalone. Throw an exception if not supported. */ private[spark] def isSupported(rp: ResourceProfile): Boolean = { + assert(master != null) if (rp.isInstanceOf[TaskResourceProfile] && !dynamicEnabled) { if ((notRunningUnitTests || testExceptionThrown) && !(isStandaloneOrLocalCluster || isYarn || isK8s)) {