[ 
https://issues.apache.org/jira/browse/YARN-3539?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steve Loughran updated YARN-3539:
---------------------------------
    Attachment: YARN-3539-004.patch

Patch -004

this merges in YARN-1876, converting that to Markdown and replacing anything in 
patch -003 which is covered in YARN-1876.

The only content retained from the 003 patch is
# error codes
# domains
# a reference (but no detail) on the response to a timeline entity POST.

Because this patch now contains YARN-1876, with its examples, it is a lot more 
thorough.

One area that is not covered in the ATSv1 API is *what constitutes a valid 
entity type or domain?*. This is important, as the API & documentation implies 
that "a/b" is a valid ID...it may be accepted as such, but to do so would be an 
error.

There is also the fact that the {{/domain}} path was added under 
{{/ws/v1/timeline/}}, so matches the path of entity types. Can you have an 
entity type called "domain"? Was it previously possible?

I would propose
# strictly defining what constitutes a valid entity type via a regular 
expression, and declaring whether the types are case sensitive.
# declaring whether {{domain}} is a valid entity type

Apart from {{/domain}}, there doesn't appear to be any restriction on entity 
type names. Any new path added under the {{/ws/v1/timeline/}} is therefore at 
risk of clashing with an applications use of ATS. Even a simple {{about/}} path 
is potentially backwards-incompatible, so cannot be added if the API is to be 
declared stable.

Either a new path is used for extensions, or a once-and-for-all subpath is 
defined for extra attributes, e.g. {{/ws/v1/timeline/state}}, and that subpath 
(here {{state}}) declared to be an invalid entity type.



> Compatibility doc to state that ATS v1 is a stable REST API
> -----------------------------------------------------------
>
>                 Key: YARN-3539
>                 URL: https://issues.apache.org/jira/browse/YARN-3539
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: documentation
>    Affects Versions: 2.7.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: HADOOP-11826-001.patch, HADOOP-11826-002.patch, 
> YARN-3539-003.patch, YARN-3539-004.patch
>
>
> The ATS v2 discussion and YARN-2423 have raised the question: "how stable are 
> the ATSv1 APIs"?
> The existing compatibility document actually states that the History Server 
> is [a stable REST 
> API|http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/Compatibility.html#REST_APIs],
>  which effectively means that ATSv1 has already been declared as a stable API.
> Clarify this by patching the compatibility document appropriately



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

Reply via email to