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

Sangjin Lee commented on YARN-3045:
-----------------------------------

{quote}
Sorry was not able to completely get it. Are you referring to TimelineClient's 
putEntities & putEntitiesAsync ? or 
TimelineWriter's write & flush ? if its later, apart from RM most of the 
entities and events of NM and application go through TimelineClient > 
TimelineCollector . So there should be some way for NM and Client App(AM) to 
inform to flush the data right?
{quote}

Sorry if my comments were not detailed enough. As you know, we have layers of 
APIs: {{TimelineClient}} which clients (RM, NM, AM, ...) use, 
{{TimelineCollector}} that receives those calls and interacts with the writer, 
and {{TimelineWriter}} that handles actual writes.

The point was that {{flush()}} belongs only in {{TimelineWriter}}. Along with 
that, it is implicitly understood that {{TimelineWriter.write()}} may be 
asynchronous (i.e. may not write the data to the storage synchronously or 
promptly). This API should be sufficient for {{TimelineCollector}} to express 
synchronous/critical put operations and asynchronous/non-critical put 
operations. {{TimelineCollector}} will *not* expose {{flush()}} directly to 
clients. Instead, it may use things like {{putEntity()}} and 
{{putEntityAsync()}} to expose that semantics to the client. In the simplest 
terms, {{TimelineCollector}} could implement {{putEntity()}} as 
{{putEntityAsync()}} + {{TimelineWriter.flush()}}. This is not the actual 
suggestion of the implementation, but that would be an idea. We already have 
{{putEntity()}} and {{putEntityAsync()}}, but we haven't yet used {{flush()}} 
to do this behavior.

And yes, we'll need another JIRA to differentiate {{putEntity()}} and 
{{putEntityAsync()}} and use them at the right places. Currently, 
{{putEntity()}} does not call {{flush()}}, and all client calls are using 
{{putEntity()}}.

{quote}
But some of them related to localization i feel is related to ContainerEntity 
right? hope the approach captured by me is fine ?
{quote}

If these events are already associated with containers any way, they are not an 
issue, right? I thought there were these events that are really application 
events, but specific to the nodes? My comments were about those application 
events.

> [Event producers] Implement NM writing container lifecycle events to ATS
> ------------------------------------------------------------------------
>
>                 Key: YARN-3045
>                 URL: https://issues.apache.org/jira/browse/YARN-3045
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>            Reporter: Sangjin Lee
>            Assignee: Naganarasimha G R
>         Attachments: YARN-3045-YARN-2928.002.patch, 
> YARN-3045-YARN-2928.003.patch, YARN-3045-YARN-2928.004.patch, 
> YARN-3045-YARN-2928.005.patch, YARN-3045-YARN-2928.006.patch, 
> YARN-3045.20150420-1.patch
>
>
> Per design in YARN-2928, implement NM writing container lifecycle events and 
> container system metrics to ATS.



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

Reply via email to