thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "A.Hari Venkata Ramana (Jira)" <j...@apache.org>
Subject [jira] [Updated] (THRIFT-5327) ServerHello is sent with a delay from thrift
Date Wed, 30 Dec 2020 11:45:00 GMT

     [ 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)

Mime
View raw message