hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wangda Tan (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (YARN-8046) Revisit RMWebServiceProtocol implementations
Date Sun, 18 Mar 2018 15:38:00 GMT

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

Wangda Tan updated YARN-8046:
-----------------------------
    Description: 
I recently found that new changes of RMWebServiceProtocol make adding any new REST API is
pretty hard. There're at least 6 classes need to be implemented:

1. {{MockRESTRequestInterceptor}}
2. {{FederationInterceptorREST}}
3. {{DefaultRequestInterceptorREST}}
4. {{PassThroughRESTRequestInterceptor}
5. {{RouterWebServices}}
6. {{RMWebServices}}

Different classes implementations have different styles, simple copy-paste is not enough.
For example.

{{DefaultRequestInterceptorREST}} uses {{RouterWebServiceUtil.genericForward}} to pass all
parameters, which needs to understand how each REST API works, reconstruct an URL which can
easily cause issues.

I think we should revisit these APIs and make sure new API can be easier added to REST interface
like before.

  was:
I recently found that new changes of RMWebServiceProtocol make adding any new REST API pretty
hard. There're at least 6 classes need to be implemented:

1. {{MockRESTRequestInterceptor}}
2. {{FederationInterceptorREST}}
3. {{DefaultRequestInterceptorREST}}
4. {{PassThroughRESTRequestInterceptor}
5. {{RouterWebServices}}
6. {{RMWebServices}}

Different classes implementations have different styles, simple copy-paste is not enough.
For example.

{{DefaultRequestInterceptorREST}} uses {{RouterWebServiceUtil.genericForward}} to pass all
parameters, which needs to understand how each REST API works, reconstruct an URL which can
easily cause issues.

I think we should revisit these APIs and make sure new API can be easier added to REST interface
like before.


> Revisit RMWebServiceProtocol implementations
> --------------------------------------------
>
>                 Key: YARN-8046
>                 URL: https://issues.apache.org/jira/browse/YARN-8046
>             Project: Hadoop YARN
>          Issue Type: Improvement
>            Reporter: Wangda Tan
>            Priority: Critical
>
> I recently found that new changes of RMWebServiceProtocol make adding any new REST API
is pretty hard. There're at least 6 classes need to be implemented:
> 1. {{MockRESTRequestInterceptor}}
> 2. {{FederationInterceptorREST}}
> 3. {{DefaultRequestInterceptorREST}}
> 4. {{PassThroughRESTRequestInterceptor}
> 5. {{RouterWebServices}}
> 6. {{RMWebServices}}
> Different classes implementations have different styles, simple copy-paste is not enough.
For example.
> {{DefaultRequestInterceptorREST}} uses {{RouterWebServiceUtil.genericForward}} to pass
all parameters, which needs to understand how each REST API works, reconstruct an URL which
can easily cause issues.
> I think we should revisit these APIs and make sure new API can be easier added to REST
interface like before.



--
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