[
https://issues.apache.org/jira/browse/THRIFT-3496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15066361#comment-15066361
]
Sebastian Zenker commented on THRIFT-3496:
------------------------------------------
I captured the traffic between the test client and test server using Wireshark.
./TestServer --server-type=threaded --transport=http
./TestClient --transport=evhttp
When the client sends a second request, it will still contain the first request.
// Client sends first request:
////////////////////////////////////////////////////////////////////
POST / HTTP/1.1
Host: localhost
Content-Type: application/x-thrift
Content-Length: 21
........testVoid.....
// response (ok)
///////////////////////////////////////////////////////////////////////////////////////////
HTTP/1.1 200 OK
Date: Mon, 21 Dec 2015 10:58:57 GMT
Server: Thrift/1.0.0-dev
Access-Control-Allow-Origin: *
Content-Type: application/x-thrift
Content-Length: 21
Connection: Keep-Alive
........testVoid.....
// Client sends second request, which still includes the first request
/////////////////////////////////
POST / HTTP/1.1
Host: localhost
Content-Type: application/x-thrift
Content-Length: 56
........testVoid............
testString...........test0.
// response from server
///////////////////////////////////////////////////////////////////////////////////////////
HTTP/1.1 200 OK
Date: Mon, 21 Dec 2015 10:58:57 GMT
Server: Thrift/1.0.0-dev
Access-Control-Allow-Origin: *
Content-Type: application/x-thrift
Content-Length: 21
Connection: Keep-Alive
........testVoid.....
HTTP/1.1 200 OK
Date: Mon, 21 Dec 2015 10:58:57 GMT
Server: Thrift/1.0.0-dev
Access-Control-Allow-Origin: *
Content-Type: application/x-thrift
Content-Length: 35
Connection: Keep-Alive
.......
testString...........test0.
> C++: Cob style client fails when sending a consecutive request
> --------------------------------------------------------------
>
> Key: THRIFT-3496
> URL: https://issues.apache.org/jira/browse/THRIFT-3496
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Compiler, C++ - Library
> Affects Versions: 1.0
> Environment: Linux
> Reporter: Sebastian Zenker
> Priority: Critical
> Labels: easyfix
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> I extended the C++ unit tests to send a second request using the same
> generate client instance (without recreating it). This causes the following
> two problems:
> 1.) the client still has the first request in it's output buffer causing it
> to send the first request again and again
> 2.) the wrong cob gets called, as sending the second request will always
> overwrite the cob of the first request
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)