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

Sangjin Lee commented on YARN-3551:
-----------------------------------

I was going to follow up. The generics alone is not going to give you type 
information at runtime, as generics are erased at runtime as you know. The 
above would give you type safety mostly from the user point of view.

I saw Vrushali's comment about serializing/deserializing appropriate type in 
another JIRA. We could handle the type by modifying the above slightly:

{code}
public class TimelineMetric<T extends Number> {
  ...
  private final Class<T> type;
  private T singleData;
  private HashMap<Long,T> timeSeries;

  public TimelineMetric(Class<T> type) {
    this.type = type;
  }
  ...
}
{code}

> Consolidate data model change according to the backend implementation
> ---------------------------------------------------------------------
>
>                 Key: YARN-3551
>                 URL: https://issues.apache.org/jira/browse/YARN-3551
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>            Reporter: Zhijie Shen
>            Assignee: Zhijie Shen
>         Attachments: YARN-3551.1.patch, YARN-3551.2.patch, YARN-3551.3.patch
>
>
> Based on the comments on 
> [YARN-3134|https://issues.apache.org/jira/browse/YARN-3134?focusedCommentId=14512080&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14512080]
>  and 
> [YARN-3411|https://issues.apache.org/jira/browse/YARN-3411?focusedCommentId=14512098&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14512098],
>  we need to change the data model to restrict the data type of 
> info/config/metric section.
> 1. Info: the value could be all kinds object that is able to be 
> serialized/deserialized by jackson.
> 2. Config: the value will always be assumed as String.
> 3. Metric: single data or time series value have to be number for aggregation.
> Other than that, info/start time/finish time of metric seem not to be 
> necessary for storage. They should be removed.



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

Reply via email to