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.
stackTracecontains the stack trace of the exception itself. It still exists for backward compatibility. It's better to usethis(e: Throwable, metrics: Option[TaskMetrics])to createExceptionFailureas it will handle the backward compatibility properly.fullStackTraceis a better representation of the stack trace because it contains the whole stack trace including the exception and its causesexceptionis the actual exception that caused the task to fail. It may beNonein the case that the exception is not in fact serializable. If a task fails more than once (due to retries),exceptionis that one that caused the last failure.