[ https://issues.apache.org/jira/browse/THRIFT-5327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
A.Hari Venkata Ramana updated THRIFT-5327: ------------------------------------------ Component/s: (was: C++ - Compiler) C++ - Library > ServerHello is sent with a delay from thrift > -------------------------------------------- > > Key: THRIFT-5327 > URL: https://issues.apache.org/jira/browse/THRIFT-5327 > Project: Thrift > Issue Type: Bug > Components: C++ - Library > Affects Versions: 0.13.0 > Environment: C++ Application running on linux x86_64 > Reporter: A.Hari Venkata Ramana > Priority: Major > > I have a C++ environment which uses thrift for server. Server is of type > TThreadPoolServer with TBufferedTransportFactory as transport and > TBinaryProtocolFactory as protocol. Clients get connected to this server and > this happens via TLS. We are using thrift server with version 0.13.0 on the > server end. > > In one of the environments where a client using thrift (version 0.10.0), the > client Hello is sent as part of initial TLS negotiation. We have observed > that the server Hello is sent after around 25-30 seconds after the client > Hello is received by the server. > > In these cases where delay is observed on server end we are printing the > client origin details, ie., the server ip of client and the port from which > it is connecting to the server. > > functionXXX(const ::apache::thrift::TConnectionInfo& connInfo){ > std::string origin = connInfo.input->getInputTransport()->*getOrigin*(); > printf("CONNECTED: %s\n", origin.c_str() ); > > .......} > In cases where the ServerHello is delayed from thrift, we see the junk > characters in prints from the above code as shown below: > > { Info = "CONNECTED: ����:52089"} > > { Info = "CONNECTED: ����:52465"} > { Info = "CONNECTED: ����:55027"} > { Info = "CONNECTED: ����:59066"} > In cases where the IP address of the client is shown as normal characters (as > shown below) we dont see any delay in the serverHello sent from the thrift > server and it just takes few milli seconds to send the serverHello back to > client. > > \{ Info = "CONNECTED: 172.30.1.41:46573"} > > Looking at the change history we see the following change done in thrift > 0.13.0: > > - [THRIFT-4762](https://issues.apache.org/jira/browse/THRIFT-4762) - cpp: > TTransport::getOrigin() is now const > > Could this be the cause of the delay from the thrift server in sending the > Server Hello back to clients as part of TLS negotiation? > > Any pointers here would be very useful. > -- This message was sent by Atlassian Jira (v8.3.4#803005)