ShuffleBlockResolver Contract

ShuffleBlockResolver is the abstraction of shuffle block resolvers that BlockManager uses to retrieve a shuffle block data for a logical shuffle block identifier (i.e. map, reduce, and shuffle).

Shuffle block data files are often referred to as map outputs files.
Table 1. ShuffleBlockResolver Contract
Method Description


getBlockData(blockId: ShuffleBlockId): ManagedBuffer

Retrieves the data (as a ManagedBuffer) for the given block (a tuple of shuffleId, mapId and reduceId).

Used when BlockManager is requested to retrieve a block data from a local block manager and block data


stop(): Unit

Stops the ShuffleBlockResolver

Used exclusively when SortShuffleManager is requested to stop

IndexShuffleBlockResolver is the default and only implementation of the ShuffleBlockResolver Contract in Apache Spark.