Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Not A Bug
-
0.9.1
-
None
-
Windows
-
Important
Description
Any API calls( from client to server) fails with std::exception after a timeout occurred in earlier API call.
Steps:
1) Call a Server API which doesn't finish within the socket read timeout
2) This call throws apache::thrift::transport::TTransportException with a TIMEOUT type (Excepted)
3) Call Another API, this fails because the earlier call response data in the socket read buffer.
// Here is the part of generated code in client
void ClientGeneratedClass::recv_[CURRENTAPI_NAME]
{
...
..
..
if (fname.compare([CURRENTAPI_NAME]) != 0)
}
This iprot_->skip doesn't seems to be cleaning the read buffer correctly.
Please advise any workaround or solution for this.
Attachments
Issue Links
- relates to
-
THRIFT-3735 JSON protocol left in incorrect state when an exception is thrown during read or write operations
- Closed