[ 
https://issues.apache.org/jira/browse/HIVE-18831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16413233#comment-16413233
 ] 

Sahil Takiar commented on HIVE-18831:
-------------------------------------

[~lirui] added an updated patch.

After some more investigation, I decided to revert the changes to 
{{KryoMessageCodec}}, sorry for the back and forth. It seems serializing Java 
{{Throwable}}s is tricky, and there is no guarantee that Java can successfully 
serialize all {{Throwable}} objects (SPARK-8625 has some details). So instead, 
I created a new class called {{SparkJobExceptionWrapper}} that wraps the full 
exception stack, and the root cause message. Also, did some re-factoring of 
{{SparkJobStatus}} to make it easier to differentiate errors thrown by the 
{{SparkJobMonitor}} vs. {{JobHandle}}.

Added a bunch of more tests to {{TestSparkTask}} to validate all of this.

> Differentiate errors that are thrown by Spark tasks
> ---------------------------------------------------
>
>                 Key: HIVE-18831
>                 URL: https://issues.apache.org/jira/browse/HIVE-18831
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Spark
>            Reporter: Sahil Takiar
>            Assignee: Sahil Takiar
>            Priority: Major
>         Attachments: HIVE-18831.1.patch, HIVE-18831.2.patch, 
> HIVE-18831.3.patch, HIVE-18831.4.patch, HIVE-18831.6.patch, HIVE-18831.7.patch
>
>
> We propagate exceptions from Spark task failures to the client well, but we 
> don't differentiate between errors from HS2 / RSC vs. errors thrown by 
> individual tasks.
> Main motivation is that when the client sees a propagated Spark exception its 
> difficult to know what part of the excution threw the exception.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to