case classExceptionFailure(className: String, description: String, stackTrace: Array[StackTraceElement], fullStackTrace: String, metrics: Option[TaskMetrics], exceptionWrapper: Option[ThrowableSerializationWrapper]) 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.
:: 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 usethis(e: Throwable, metrics: Option[TaskMetrics])
to createExceptionFailure
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 causesexception
is the actual exception that caused the task to fail. It may beNone
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.