hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Prabhu Joseph (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-9403) GET /apps/{appid}/entities/YARN_APPLICATION accesses application table instead of entity table
Date Thu, 04 Apr 2019 06:47:00 GMT

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

Prabhu Joseph commented on YARN-9403:
-------------------------------------

Thanks [~vrushalic] for reviewing this.

The rest api
{noformat}
/apps/{appid}/entities/entityType{noformat}
 to fetch entities of any particular entityType and an applicationId can be misused to list
other apps, flowruns and flow activities. This is not a serious issue since ACLs available
but gives negative impression to the user. And also user won't know the internal terms YARN_APPLICATION,
YARN_FLOW_RUN, YARN_FLOW_ACTIVITY and i think can use it for custom entities. This Jira fixes
the negative scenario where it treats any value user set as entityType to fetch from entities
table.
  
{code:java}
curl -s "http://yarn-ats-3:8198/ws/v2/timeline/apps/application_1553258815132_0002/entities/YARN_APPLICATION"

curl -s "http://yarn-ats-3:8198/ws/v2/timeline/apps/application_1553258815132_0002/entities/YARN_FLOW_RUN"

curl -s "http://yarn-ats-3:8198/ws/v2/timeline/apps/application_1553258815132_0002/entities/YARN_FLOW_ACTIVITY"

{code}

> GET /apps/{appid}/entities/YARN_APPLICATION accesses application table instead of entity
table
> ----------------------------------------------------------------------------------------------
>
>                 Key: YARN-9403
>                 URL: https://issues.apache.org/jira/browse/YARN-9403
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: ATSv2
>    Affects Versions: 3.2.0
>            Reporter: Prabhu Joseph
>            Assignee: Prabhu Joseph
>            Priority: Major
>         Attachments: YARN-9403-001.patch, YARN-9403-002.patch, YARN-9403-003.patch, YARN-9403-004.patch
>
>
> {noformat}"GET /apps/{appid}/entities/YARN_APPLICATION"{noformat} accesses application
table instead of entity table. As per the doc, With this API, you can query generic entities
identified by cluster ID, application ID and per-framework entity type. But it also provides
all the apps when entityType is set to YARN_APPLICATION. It should only access Entity Table
through {{GenericEntityReader}}.
> Wrong Output: With YARN_APPLICATION entityType, all applications listed from application
tables.
> {code}
> [hbase@yarn-ats-3 centos]$ curl -s "http://yarn-ats-3:8198/ws/v2/timeline/apps/application_1553258815132_0002/entities/YARN_APPLICATION?user.name=hbase&userid=hbase&flowname=word%20count"
| jq .
> [
>   {
>     "metrics": [],
>     "events": [],
>     "createdtime": 1553258922721,
>     "idprefix": 0,
>     "isrelatedto": {},
>     "relatesto": {},
>     "info": {
>       "UID": "ats!application_1553258815132_0002",
>       "FROM_ID": "ats!hbase!word count!1553258922721!application_1553258815132_0002"
>     },
>     "configs": {},
>     "type": "YARN_APPLICATION",
>     "id": "application_1553258815132_0002"
>   },
>   {
>     "metrics": [],
>     "events": [],
>     "createdtime": 1553258825918,
>     "idprefix": 0,
>     "isrelatedto": {},
>     "relatesto": {},
>     "info": {
>       "UID": "ats!application_1553258815132_0001",
>       "FROM_ID": "ats!hbase!word count!1553258825918!application_1553258815132_0001"
>     },
>     "configs": {},
>     "type": "YARN_APPLICATION",
>     "id": "application_1553258815132_0001"
>   }
> ]
> {code}
> Right Output: With correct entity type (MAPREDUCE_JOB) it accesses entity table for given
applicationId and entityType.
> {code}
> [hbase@yarn-ats-3 centos]$ curl -s "http://yarn-ats-3:8198/ws/v2/timeline/apps/application_1553258815132_0002/entities/MAPREDUCE_JOB?user.name=hbase&userid=hbase&flowname=word%20count"
| jq .
> [
>   {
>     "metrics": [],
>     "events": [],
>     "createdtime": 1553258926667,
>     "idprefix": 0,
>     "isrelatedto": {},
>     "relatesto": {},
>     "info": {
>       "UID": "ats!application_1553258815132_0002!MAPREDUCE_JOB!0!job_1553258815132_0002",
>       "FROM_ID": "ats!hbase!word count!1553258922721!application_1553258815132_0002!MAPREDUCE_JOB!0!job_1553258815132_0002"
>     },
>     "configs": {},
>     "type": "MAPREDUCE_JOB",
>     "id": "job_1553258815132_0002"
>   }
> ]
> {code}
> Flow Activity and Flow Run tables can also be accessed using similar way.
> {code}
> GET /apps/{appid}/entities/YARN_FLOW_ACTIVITY
> GET /apps/{appid}/entities/YARN_FLOW_RUN
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org


Mime
View raw message