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

Eric Yang commented on YARN-9728:
---------------------------------

[~tde] {quote}Why we do no replace de illegal char by \uFFFd witch is the char 
dedicated to replace unrepresentable character ?{quote}

Good suggestion.

{quote}This issue is due to this jaxb-ri issue : 
https://github.com/eclipse-ee4j/jaxb-ri/issues/960, isn'it ?{quote}

This problem is caused by serialization problem in jaxb and there is no good 
solution unless backward compatibility is thrown out.  This patch is a 
workaround to avoid display the illegal characters.  Correct me if I am wrong, 
It is stop gap solution, and probably can be workaround by using ui2 to view 
the diagnostic message.

>  ResourceManager REST API can produce an illegal xml response
> -------------------------------------------------------------
>
>                 Key: YARN-9728
>                 URL: https://issues.apache.org/jira/browse/YARN-9728
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: api, resourcemanager
>    Affects Versions: 2.7.3
>            Reporter: Thomas
>            Assignee: Prabhu Joseph
>            Priority: Major
>         Attachments: IllegalResponseChrome.png, YARN-9728-001.patch, 
> YARN-9728-002.patch, YARN-9728-003.patch
>
>
> When a spark job throws an exception with a message containing a character 
> out of the range supported by xml 1.0, then
>  the application fails and the stack trace will be stored into the 
> {{diagnostics}} field. So far, so good.
> But the issue occurred when we try to get application information with the 
> ResourceManager REST API
>  The xml response will contain the illegal xml 1.0 char and will be invalid.
>  *+Examples of illegals characters in xml 1.0 :+* 
>  * {{\u0000}}
>  * {{\u0001}}
>  * {{\u0002}}
>  * {{\u0003}}
>  * {{\u0004}}
> _For more information about supported characters :_
>  [https://www.w3.org/TR/xml/#charsets]
> *+Example of illegal response from the Ressource Manager API :+* 
> {code:xml}
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <app>
>   <id>application_1326821518301_0005</id>
>   <user>user1</user>
>   <name>job</name>
>   <queue>a1</queue>
>   <state>FINISHED</state>
>   <finalStatus>FAILED</finalStatus>
>   <progress>100.0</progress>
>   <trackingUI>History</trackingUI>
>   
> <trackingUrl>http://host.domain.com:8088/proxy/application_1326821518301_0005/jobhistory/job/job_1326821518301_5_5</trackingUrl>
>   <diagnostics>Exception in thread "main" java.lang.Exception: \u0001
>       at com.XXXXXXXX.main(JobWithSpecialCharMain.java:6)</diagnostics>
>   [...]
> </app>
> {code}
>  
> *+Example of job to reproduce :+*
> {code:java}
> public class JobWithSpecialCharMain {
>  public static void main(String[] args) throws Exception {
>   throw new Exception("\u0001");
>  }
> }
> {code}
> {code:bash}
> javac -d . JobWithSpecialCharMain.java
> jar cvf repro.jar com/
> spark-submit --class com.JobWithSpecialCharMain --master yarn-cluster 
> repro.jar
> {code}
> !IllegalResponseChrome.png!



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to