[
https://issues.apache.org/jira/browse/YARN-3240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
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
data.
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
aggregator.
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
(v6.3.4#6332)