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

Varun Saxena commented on YARN-6074:
------------------------------------

Committed to trunk, YARN-5355 and YARN-5355-branch-2.
Thanks [~rohithsharma] for your contribution

> FlowRunEntity does not deserialize long values correctly
> --------------------------------------------------------
>
>                 Key: YARN-6074
>                 URL: https://issues.apache.org/jira/browse/YARN-6074
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelinereader
>            Reporter: Rohith Sharma K S
>            Assignee: Rohith Sharma K S
>             Fix For: 3.0.0-alpha2, YARN-5355, YARN-5355-branch-2
>
>         Attachments: YARN-6074.patch
>
>
> I see that FlowRunEntity methods *getRunId()* and *getMaxEndTime()* does not 
> deserialize in efficient way which causes class cast exception based on the 
> number.
> {code}
>   public long getRunId() {
>     Object runId = getInfo().get(FLOW_RUN_ID_INFO_KEY);
>     return runId == null ? 0L : (Long) runId;
>   }
> {code} 
> and 
> {code}
>   public long getMaxEndTime() {
>     Object time = getInfo().get(FLOW_RUN_END_TIME);
>     return time == null ? 0L : (Long)time;
>   }
> {code} 
> The reason for class caste exception is Json has data type Number which 
> includes all java primitive types. So, if number with in the range of Integer 
> max, then Object is converted to Integer which fails  to type cast to Long. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to