Zhijie Shen updated YARN-3240:
    Attachment: YARN-3240.1.patch

In this Jira, I aim to make the basic client write APIs ready. Later on, we can 
add more advanced APIs to simply putting predefined data, such as flow. Bellow 
is the summary of this patch:

1. Added the two Java methods of TimelineClient to operate the new generic 
timeline entity data object. One is for blocking call, while the other is for 
the async call. The two methods wrap over the same REST HTTP API, but giving 
different "async" param. At the server side, the aggregator can consume this 
param to determine whether to use sync or asycn call to persist the timeline 

It needs the resource URI and the context appID to know where the request 
should be sent to and which conceptual per-app aggregator should be routed to. 
This is blocked by YARN-3039. For now, I just leave them unset in the code.

2. Change the endpoint at per-node web service accordingly to make the client 
and the server be paired.

3. One more data object, TimelineEntities, which is the collection of 
TimelineEntity, is added to host multiple entities for one request to the 

The rationale behind putting the new client API inside the existing timeline 
client is:

1. Most of TimelineClientImpl code could be reused, including making HTTP 
calls, security, retry and so on.

2. Not all the client APIs will be deprecated, but just those that operate on 
the old data model. For example, delegation token related APIs may still stay.

> [Data Mode] Implement client API to put generic entities
> --------------------------------------------------------
>                 Key: YARN-3240
>                 URL: https://issues.apache.org/jira/browse/YARN-3240
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>            Reporter: Zhijie Shen
>            Assignee: Zhijie Shen
>         Attachments: YARN-3240.1.patch

This message was sent by Atlassian JIRA

Reply via email to