You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Daniel Voros (JIRA)" <ji...@apache.org> on 2018/10/25 13:30:00 UTC

[jira] [Commented] (YARN-8779) Fix few discrepancies between YARN Service swagger spec and code

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

Daniel Voros commented on YARN-8779:
------------------------------------

One more thing:

9.

{{PUT /app/v1/services/{service_name}}} might return:
 * 200 (on start/stop),
 * 202 (on initiating/canceling upgrade or flexing)
 * 204 (in any other case - not sure what that might be)

however swagger spec only lists 204.

> Fix few discrepancies between YARN Service swagger spec and code
> ----------------------------------------------------------------
>
>                 Key: YARN-8779
>                 URL: https://issues.apache.org/jira/browse/YARN-8779
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: yarn-native-services
>    Affects Versions: 3.1.0, 3.1.1
>            Reporter: Gour Saha
>            Priority: Major
>
> Following issues were identified in YARN Service swagger definition during an effort to integrate with a running service by generating Java and Go client-side stubs from the spec -
>  
> 1.
> *restartPolicy* is wrong and should be *restart_policy*
>  
> 2.
> A DELETE request to a non-existing service (or a previously existing but deleted service) throws an ApiException instead of something like NotFoundException (the equivalent of 404). Note, DELETE of an existing service behaves fine.
>  
> 3.
> The response code of DELETE request is 200. The spec says 204. Since the response has a payload, the spec should be updated to 200 instead of 204.
>  
> 4.
>  _DefaultApi.java_ client's _appV1ServicesServiceNameGetWithHttpInfo_ method does not return a Service object. Swagger definition has the below bug in GET response of */app/v1/services/\{service_name}* -
> {code:java}
> type: object
> items:
>   $ref: '#/definitions/Service'
> {code}
> It should be -
> {code:java}
> $ref: '#/definitions/Service'
> {code}
>  
> 5.
> Serialization issues were seen in all enum classes - ServiceState.java, ContainerState.java, ComponentState.java, PlacementType.java and PlacementScope.java.
> Java client threw the below exception for ServiceState -
> {code:java}
> Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `org.apache.cb.yarn.service.api.records.ServiceState` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('ACCEPTED')
>  at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 121] (through reference chain: org.apache.cb.yarn.service.api.records.Service["state”])
> {code}
> For Golang we saw this for ContainerState -
> {code:java}
> ERRO[2018-08-12T23:32:31.851-07:00] During GET request: json: cannot unmarshal string into Go struct field Container.state of type yarnmodel.ContainerState 
> {code}
>  
> 6.
> *launch_time* actually returns an integer but swagger definition says date. Hence, the following exception is seen on the client side -
> {code:java}
> Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Unexpected token (VALUE_NUMBER_INT), expected START_ARRAY: Expected array or string.
>  at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 477] (through reference chain: org.apache.cb.yarn.service.api.records.Service["components"]->java.util.ArrayList[0]->org.apache.cb.yarn.service.api.records.Component["containers"]->java.util.ArrayList[0]->org.apache.cb.yarn.service.api.records.Container["launch_time”])
> {code}
>  
> 8.
> *user.name* query param with a valid value is required for all API calls to an unsecure cluster. This is not defined in the spec.
>  



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