diff --git a/core/src/main/scala/org/apache/spark/shuffle/IndexShuffleBlockResolver.scala b/core/src/main/scala/org/apache/spark/shuffle/IndexShuffleBlockResolver.scala index 7a76c2f97e8d7..30bc1382fb021 100644 --- a/core/src/main/scala/org/apache/spark/shuffle/IndexShuffleBlockResolver.scala +++ b/core/src/main/scala/org/apache/spark/shuffle/IndexShuffleBlockResolver.scala @@ -57,11 +57,23 @@ import org.apache.spark.util.collection.OpenHashSet private[spark] class IndexShuffleBlockResolver( conf: SparkConf, // var for testing - var _blockManager: BlockManager = null, - val taskIdMapsForShuffle: JMap[Int, OpenHashSet[Long]] = Collections.emptyMap()) + var _blockManager: BlockManager, + val taskIdMapsForShuffle: JMap[Int, OpenHashSet[Long]]) extends ShuffleBlockResolver with Logging with MigratableResolver { + def this(conf: SparkConf) = { + this(conf, null, Collections.emptyMap()) + } + + def this(conf: SparkConf, _blockManager: BlockManager) = { + this(conf, _blockManager, Collections.emptyMap()) + } + + def this(conf: SparkConf, taskIdMapsForShuffle: JMap[Int, OpenHashSet[Long]]) = { + this(conf, null, taskIdMapsForShuffle) + } + private lazy val blockManager = Option(_blockManager).getOrElse(SparkEnv.get.blockManager) private val transportConf = {