Rohith Sharma K S created YARN-6074:
---------------------------------------

             Summary: FlowRunEntity does not deserialize long values in 
efficient way. 
                 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


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: yarn-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-dev-h...@hadoop.apache.org

Reply via email to