[ 
https://issues.apache.org/jira/browse/YARN-9728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prabhu Joseph updated YARN-9728:
--------------------------------
    Description: 
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}

javac -d . JobWithSpecialCharMain.java
jar cvf repro.jar com/
spark-submit --class com.JobWithSpecialCharMain --master yarn-cluster repro.jar



!IllegalResponseChrome.png!

  was:
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}
!IllegalResponseChrome.png!


>  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
>
>
> 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}
> javac -d . JobWithSpecialCharMain.java
> jar cvf repro.jar com/
> spark-submit --class com.JobWithSpecialCharMain --master yarn-cluster 
> repro.jar
> !IllegalResponseChrome.png!



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
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