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

Laurent Goujon commented on DRILL-5217:
---------------------------------------

maybe then having two separate services (one for sending, one for receiving) 
might make sense then. There are also some common locks you would have to 
figure out how to split...

> 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