Sangjin Lee commented on YARN-4053:

Thanks [~varun_saxena] for the discussion. As you said, one thing that really 
causes issues is when inconsistent values are used for the same metric. At a 
high level, I think we need to ask these questions:

- How important is it to support this scenario?
- If we don't really support this scenario, then what is the minimally 
acceptable behavior if that were to happen?

The gist of the problem is that one cannot really write/read consistent values 
without knowing the "right" type of the metric. The user will likely not know 
that either for the write or read path. In the face of this, the main 
difference between approach #1 (encoding it into the value) and approach #2 
(adding it to the column qualifier) is that approach #1 will mix different-type 
values into a single time series (column), and approach #2 will effectively 
create two separate time series (columns). The rest is the fallout.

> Change the way metric values are stored in HBase Storage
> --------------------------------------------------------
>                 Key: YARN-4053
>                 URL: https://issues.apache.org/jira/browse/YARN-4053
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>    Affects Versions: YARN-2928
>            Reporter: Varun Saxena
>            Assignee: Varun Saxena
>         Attachments: YARN-4053-YARN-2928.01.patch
> Currently HBase implementation uses GenericObjectMapper to convert and store 
> values in backend HBase storage. This converts everything into a string 
> representation(ASCII/UTF-8 encoded byte array).
> While this is fine in most cases, it does not quite serve our use case for 
> metrics. 
> So we need to decide how are we going to encode and decode metric values and 
> store them in HBase.

This message was sent by Atlassian JIRA

Reply via email to