[
https://issues.apache.org/jira/browse/YARN-5571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15443916#comment-15443916
]
Naganarasimha G R commented on YARN-5571:
-----------------------------------------
Hi [~varun_saxena],
So IIUC, *GET /ws/v2/timeline/apps/\{app id\}* is sufficient and passing the
additional param information (flowName, flowRunId, userId) is like optional to
speedup the query which is also captured effectively in the REST documentation.
But only thing being REST API is not much intuitive without understanding the
Hbase storage structure.
After referring to code and the document [ATSv2BackendHBaseSchemaproposal.pdf
|https://issues.apache.org/jira/secure/attachment/12811223/ATSv2BackendHBaseSchemaproposal.pdf]
mentioned in the YARN-2928 for the Hbase storage structure, felt some
modifications are required for it like,
# currently there are 5 tables but the doc shows 4 tables for hbase,
# sample entity table in the doc shows to contain the app configuration which
is not as per current plan,
# Many places FLOWID is used instead of FlowNAME,
# Name of the tables seems to be different from the ones being used in the code
# Similar mappings present in each Table as present in the code to be present
in the document too...
Not sure whether it would be ideal to capture these info in the ATSv2
documentation but better to get these captured as final ATSv2 HBASE Schema
documentation and attach it in YARN-2928, Thoughts ?
> [Atsv2] Query App REST endpoing need not to expose queryParams such
> userId/flowname/flowrunid
> ---------------------------------------------------------------------------------------------
>
> Key: YARN-5571
> URL: https://issues.apache.org/jira/browse/YARN-5571
> Project: Hadoop YARN
> Issue Type: Bug
> Components: timelinereader
> Reporter: Rohith Sharma K S
> Assignee: Rohith Sharma K S
>
> Timeline reader provides REST end point for querying app with an URL {{GET
> /ws/v2/timeline/apps/\{app id\}}} along with queryParam as an filter. But
> queryParam such as {{userId/flowname/flowrunid}} not at useful for querying
> an app with app-id. In YARN cluster, only one app-id will be exist though out
> life time. So userId/flowname/flowrunid not at all useful for the app-id REST
> empoint
> {noformat}
> @GET
> @Path("/apps/{appid}/")
> @Produces(MediaType.APPLICATION_JSON)
> public TimelineEntity getApp(
> @Context HttpServletRequest req,
> @Context HttpServletResponse res,
> @PathParam("appid") String appId,
> @QueryParam("flowname") String flowName,
> @QueryParam("flowrunid") String flowRunId,
> @QueryParam("userid") String userId,
> @QueryParam("confstoretrieve") String confsToRetrieve,
> @QueryParam("metricstoretrieve") String metricsToRetrieve,
> @QueryParam("fields") String fields,
> @QueryParam("metricslimit") String metricsLimit) {
> return getApp(req, res, null, appId, flowName, flowRunId, userId,
> confsToRetrieve, metricsToRetrieve, fields, metricsLimit);
> }
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]