drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sudheesh Katkam (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5217) Heartbeat Fails when C++ client receives a large ResultSet
Date Wed, 25 Jan 2017 00:26:27 GMT

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

Sudheesh Katkam commented on DRILL-5217:

Not reception of "pong" notification, but sending the "ping" notification.

The timer that sends the "ping" uses the same ioservice (for async_wait), and the ioservice
is composed of 1 thread, which is essentially blocked. The mentioned (suggested) fix avoids
the alternative, which is to create another thread that is only responsible for sending pings.
Do you have suggestions?

> 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

View raw message