[
https://issues.apache.org/jira/browse/THRIFT-4854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16828795#comment-16828795
]
Jens Geyer commented on THRIFT-4854:
------------------------------------
PS. The netstd TestSuite impl does not offer HTTP today, so there is no way to
test it right now.
> oneway calls do not work over HTTP
> ----------------------------------
>
> Key: THRIFT-4854
> URL: https://issues.apache.org/jira/browse/THRIFT-4854
> Project: Thrift
> Issue Type: Bug
> Components: netstd - Library
> Reporter: Jens Geyer
> Assignee: Jens Geyer
> Priority: Major
>
> HTTP calls work perfectly unless the method called is marked \{{oneway}}. Due
> to the specifics of the underlying HTTP protocol, the server side need to
> always send a response, even an empty one.
> Currently this is not the case, hence the client waits for an answer which
> does not come, as the server end never completes the first request. Instead,
> the server starts to receive the next request on that connection, while the
> client is still waiting.
> Ultimately this leads to the situation where the server detects a broken
> connection, throws a TransportException and therefore terminates on his end
> with an HTTP 500 status code. That response code, however, is not the result
> of the first call (the server is already done with that), but the result of
> the second call that never started.
> At the point when the server closes the transport, the client finally
> awakens, gets the last HTTP error status and declares the call failed.
> The problem is not the HTTP 500, this is absolutely correct. What is really
> missing is the server end completing the first HTTP call.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)