@@ -158,8 +158,8 @@ object SparkEnv extends Logging {
158158
159159 // Create an instance of the class named by the given Java system property, or by
160160 // defaultClassName if the property is not set, and return it as a T
161- def instantiateClass [T ](propertyName : String , defaultClassName : String ): T = {
162- val name = conf.get(propertyName, defaultClassName)
161+ def instantiateClass [T ](propertyName : String , defaultClassName : String = null ): T = {
162+ val name = conf.get(propertyName, defaultClassName)
163163 val cls = Class .forName(name, true , Utils .getContextOrSparkClassLoader)
164164 // Look for a constructor taking a SparkConf and a boolean isDriver, then one taking just
165165 // SparkConf, then one taking no arguments
@@ -246,8 +246,13 @@ object SparkEnv extends Logging {
246246 " ."
247247 }
248248
249- val shuffleManager = instantiateClass[ShuffleManager ](
250- " spark.shuffle.manager" , " org.apache.spark.shuffle.hash.HashShuffleManager" )
249+ // Let the user specify short names for shuffle managers
250+ val shortShuffleMgrNames = Map (
251+ " HASH" -> " org.apache.spark.shuffle.hash.HashShuffleManager" ,
252+ " SORT" -> " org.apache.spark.shuffle.sort.SortShuffleManager" )
253+ val shuffleMgrName = conf.get(" spark.shuffle.manager" , " HASH" )
254+ val shuffleMgrClass = shortShuffleMgrNames.getOrElse(shuffleMgrName, shuffleMgrName)
255+ val shuffleManager = instantiateClass[ShuffleManager ](shuffleMgrClass)
251256
252257 val shuffleMemoryManager = new ShuffleMemoryManager (conf)
253258
0 commit comments