OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: [OASIS Issue Tracker] Commented: (ODATA-327) Service MUST only return async if return-async is specified

    [ http://tools.oasis-open.org/issues/browse/ODATA-327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33087#action_33087 ] 

Stefan Drees commented on ODATA-327:

In my NginX world we do never return a HTTP level code to the client on timeout ;-) we simply close the connection (by sending a TCP FIN) and note HTTP/444 No Response in the logs on server side (mostly to have low cost processing for irrelevant requests).

I really like the convention of the client hinting at a possible timeout (smaller than any timeout configured in server and client config one) by passing a wait and no return-async prefer header.

As Martin stated HTTP/408 covers the case, where the client did not submit a complete request before some server configured timeout mostly  a TCP packet lost on the way. So I suggest, to allow this isolated wait header and after a duration larger than the minimum of server timeout and this client provided wait value, simply close the connection and possibly suggest to note a HTTP/444 No Response in the logs.

This should really help push OData in cooperatve high throughput transaction scenarios, as the server MAY reuse resources early (and not only after some statically configured global timeout) thereby maxmizing the number of satisfiable requests per timeslot. Otherwise these "stale" connections might serve as arguments against using OData in such scenarios.

> Service MUST only return async if return-async is specified
> -----------------------------------------------------------
>                 Key: ODATA-327
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-327
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: OData Protocol 
>    Affects Versions: V4.0_WD01
>         Environment: [Applied]
>            Reporter: Michael Pizzo
>            Assignee: Martin Zurmuehl
>             Fix For: V4.0_WD01
> Today we are a little inconsistent in the spec. We imply that the client must specify return-async in order for the service to return async, but in other cases we imply the service may return async if the client specifies either return-async OR wait.
> I had a quick chat with James Snell, and he agreed that we should only return async if the client specifically specifies return-async. If the client specifies wait, and not return-async, we should not return asynchronously.
> Our options are to:
> 1) Ignore the wait
> 2) use wait as a suggestion for how long to wait before timing out the synchronous request
> 3) leave it undefined (but still say that the service can't use it to return asynchronously if return-async is not specified).
> I kinda like 2), using wait without return-async as a hint from the client how long they want to wait before timing out the request.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]