thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Geyer (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (THRIFT-3877) C++: library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
Date Tue, 05 Dec 2017 00:41:00 GMT

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

Jens Geyer edited comment on THRIFT-3877 at 12/5/17 12:40 AM:
--------------------------------------------------------------

@Chet: The fact that HTTP always needs a response does not imply that 
a) there must be any data in it (it may consist only of HTTP headers) and 
b) the thrift client needs to ready any data from the wire.

So yes, the HTTP response should probably be read, but the Thrift {{oneway}} semantics are
not to be affected w/regard to Thrift. What happens inside the HTTP transport does mot matter
and should be kept there. If that means that HTTP is not really "fire and forget" because
we have to wait for the impact confirmation (to stick with the picture), well so be it. we
dont want to break HTTP ...

... but we also don't want to break {{oneway}}. And the latter implies that we really should
ignore whatever response is coming back, because {{oneway}} means that there is no response,
and this also includes no errors, exceptions, panics or whatever: The server did return a
HTTP 500? Who cares!



was (Author: jensg):
@Chet: The fact that HTTP always needs a response does not imply that 
a) there must be any data in it (it may consist only of HTTP headers) and 
b) the thrift client needs to ready any data from the wire.

So yes, the HTTP response should probably be read, but the Thrift {{oneway}} semantics are
not to be affected w/regard to Thrift. What happens inside the HTTP transport does mot matter
and should be kept there. If that means that HTTP is not really "fire and forget" because
we have to wait for the impact confirmation (to stick with the picture), well so be it. we
dont want to break HTTP, but we also don't want to break {{oneway}}. The latter implies that
we really should ignore whatever response is coming back, because {{oneway}} means that there
is no response, and this also includes no errors, exceptions, panics or whatever: The servers
did return a 500? Who cares!


> C++: library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
> ------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-3877
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3877
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9.3, 0.10.0
>         Environment: Windows 7, Visual Studio 2013 (C#), Qt 5.7 (MSVC 12).
> Thrift from git repo, SHA-1: 5a3f855b4e6882184f13c698855c877241144a12 (master)
>            Reporter: Sergey Fasman
>            Assignee: James E. King, III
>            Priority: Critical
>
> Client on C++.
> Tested on C# HTTP server and client — work ideal.
> Then create client on C++. Client after request starts infinitly wait for data.
> For example, JSON protocol read data symbol by symbol, when trying read: it always try
to call recv function (even all data already received).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message