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

Sangjin Lee commented on YARN-3431:
-----------------------------------

I know [~zjshen]'s updating the patch, but I'll provide some feedback based on 
the current patch and the discussion here. Generally I agree with the approach 
of using fields in TimelineEntity to store/retrieve specialized information. 
That would definitely help with the JSON's (lack of) support for polymorphism.

With regards to parent-child relationship and the relationship in general, this 
might be some change, but would it be better to have some kind of a key or a 
label for a relationship? It would help locate the particular relationship 
(e.g. parent) quickly, and help other use cases in identifying exactly the 
relationship it needs to retrieve. Thoughts?

On a related note, I have problems with prohibiting hierarchical timeline 
entities from having any other relationships than parent-child. For example, 
frameworks (e.g. mapreduce) may use hierarchical timeline entities to describe 
their hierarchy (job => task => task attempts), and these entities would have 
dotted lines to YARN system entities (app, containers, etc.) and vice versa. It 
would be a pretty severe restriction to prohibit them. If we adopt the above 
approach, we should be able to allow both, right?

(FlowEntity.java)
- l. 58: do we want to set the id once we calculate it from scratch?

(TimelineEntity.java)
- l.88: Some javadoc would be helpful in explaining this constructor. It 
doesn't come through as very obvious.

> Sub resources of timeline entity needs to be passed to a separate endpoint.
> ---------------------------------------------------------------------------
>
>                 Key: YARN-3431
>                 URL: https://issues.apache.org/jira/browse/YARN-3431
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>            Reporter: Zhijie Shen
>            Assignee: Zhijie Shen
>         Attachments: YARN-3431.1.patch, YARN-3431.2.patch, YARN-3431.3.patch
>
>
> We have TimelineEntity and some other entities as subclass that inherit from 
> it. However, we only have a single endpoint, which consume TimelineEntity 
> rather than sub-classes and this endpoint will check the incoming request 
> body contains exactly TimelineEntity object. However, the json data which is 
> serialized from sub-class object seems not to be treated as an TimelineEntity 
> object, and won't be deserialized into the corresponding sub-class object 
> which cause deserialization failure as some discussions in YARN-3334 : 
> https://issues.apache.org/jira/browse/YARN-3334?focusedCommentId=14391059&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14391059.



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

Reply via email to