-
Type:
Bug
-
Status: Closed
-
Priority:
Critical
-
Resolution: Not A Bug
-
Affects Version/s: 0.9.1
-
Fix Version/s: 0.10.0
-
Component/s: C++ - Library
-
Labels:None
-
Environment:
Windows
-
Flags:Important
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.
- relates to
-
THRIFT-3735 JSON protocol left in incorrect state when an exception is thrown during read or write operations
-
- Closed
-