spark-instrumented-optimizer/core/src/main/scala/spark/ShuffleFetcher.scala
2011-05-20 00:19:53 -07:00

20 lines
643 B
Scala

package spark
trait ShuffleFetcher {
// Fetch the shuffle outputs for a given ShuffleDependency, calling func exactly
// once on each key-value pair obtained.
def fetch[K, V](shuffleId: Int, reduceId: Int, func: (K, V) => Unit)
}
class FetchFailedException(val serverUri: String, val shuffleId: Int,
val mapId: Int, val reduceId: Int, cause: Throwable)
extends Exception {
override def getMessage(): String =
"Fetch failed: %s %d %d %d".format(serverUri, shuffleId, mapId, reduceId)
override def getCause(): Throwable = cause
def toTaskEndReason: TaskEndReason =
FetchFailed(serverUri, shuffleId, mapId, reduceId)
}