case class ExceptionFailure(className: String, description: String, stackTrace: Array[StackTraceElement], fullStackTrace: String, exceptionWrapper: Option[ThrowableSerializationWrapper], accumUpdates: Seq[AccumulableInfo] = Seq.empty, accums: Seq[AccumulatorV2[_, _]] = Nil, metricPeaks: Seq[Long] = Seq.empty) extends TaskFailedReason with Product with Serializable
:: DeveloperApi :: Task failed due to a runtime exception. This is the most common failure case and also captures user program exceptions.
stackTrace
contains the stack trace of the exception itself. It still exists for backward
compatibility. It's better to use this(e: Throwable, metrics: Option[TaskMetrics])
to
create ExceptionFailure
as it will handle the backward compatibility properly.
fullStackTrace
is a better representation of the stack trace because it contains the whole
stack trace including the exception and its causes
exception
is the actual exception that caused the task to fail. It may be None
in
the case that the exception is not in fact serializable. If a task fails more than
once (due to retries), exception
is that one that caused the last failure.
- Annotations
- @DeveloperApi()
- Source
- TaskEndReason.scala
- Alphabetic
- By Inheritance
- ExceptionFailure
- Serializable
- Serializable
- Product
- Equals
- TaskFailedReason
- TaskEndReason
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ExceptionFailure(className: String, description: String, stackTrace: Array[StackTraceElement], fullStackTrace: String, exceptionWrapper: Option[ThrowableSerializationWrapper], accumUpdates: Seq[AccumulableInfo] = Seq.empty, accums: Seq[AccumulatorV2[_, _]] = Nil, metricPeaks: Seq[Long] = Seq.empty)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val accumUpdates: Seq[AccumulableInfo]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- val className: String
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
countTowardsTaskFailures: Boolean
Whether this task failure should be counted towards the maximum number of times the task is allowed to fail before the stage is aborted.
Whether this task failure should be counted towards the maximum number of times the task is allowed to fail before the stage is aborted. Set to false in cases where the task's failure was unrelated to the task; for example, if the task failed because the executor it was running on was killed.
- Definition Classes
- TaskFailedReason
- val description: String
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def exception: Option[Throwable]
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- val fullStackTrace: String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val stackTrace: Array[StackTraceElement]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toErrorString: String
Error message displayed in the web UI.
Error message displayed in the web UI.
- Definition Classes
- ExceptionFailure → TaskFailedReason
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()