[ 
https://issues.apache.org/jira/browse/DRILL-5217?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15836968#comment-15836968
 ] 

Sudheesh Katkam commented on DRILL-5217:
----------------------------------------

I meant that the client is occupied and unable to send pings, so the server 
closes the connection.

I do not see logic for ensuring that pongs are received every so often. So what 
you said is also not handled (but maybe that was the contract).

> Heartbeat Fails when C++ client receives a large ResultSet
> ----------------------------------------------------------
>
>                 Key: DRILL-5217
>                 URL: https://issues.apache.org/jira/browse/DRILL-5217
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Client - C++
>            Reporter: Sudheesh Katkam
>            Priority: Critical
>
> If the listener thread is occupied for longer than 15 seconds (heartbeat 
> timeout) while [handling a message from the 
> drillbit|https://github.com/apache/drill/blob/master/contrib/native/client/src/clientlib/drillClientImpl.cpp#L1286]
>  e.g. [processing query data blocks if the query result listener's buffer is 
> full|https://github.com/apache/drill/blob/master/contrib/native/client/src/clientlib/drillClientImpl.cpp#L899],
>  heartbeats fail because the same thread is responsible for sending 
> heartbeats!
> Fix is to [handle long running 
> operations|http://stackoverflow.com/questions/17648725/long-running-blocking-operations-in-boost-asio-handlers]
>  separately using boost asio.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to