You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Deneche A. Hakim (JIRA)" <ji...@apache.org> on 2015/05/22 19:38:17 UTC

[jira] [Updated] (DRILL-3167) When a query fails, Foreman should wait for all fragments to finish cleaning up before sending a FAILED state to the client

     [ https://issues.apache.org/jira/browse/DRILL-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Deneche A. Hakim updated DRILL-3167:
------------------------------------
    Attachment: DRILL-3167.1.patch.txt

- In case of a failure the Foreman will cancel all fragments and move to a FAILING state until all fragments are terminated
- QueryManager.cancelExecutingFragments() returns false if no fragment available


> When a query fails, Foreman should wait for all fragments to finish cleaning up before sending a FAILED state to the client
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-3167
>                 URL: https://issues.apache.org/jira/browse/DRILL-3167
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Deneche A. Hakim
>            Assignee: Deneche A. Hakim
>             Fix For: 1.1.0
>
>         Attachments: DRILL-3167.1.patch.txt
>
>
> TestDrillbitResilience.foreman_runTryEnd() exposes this problem intermittently
> The query fails and the Foreman reports the failure to the client which removes the results listener associated to the failed query. 
> Sometimes, a data batch reaches the client after the FAILED state already arrived, the client doesn't handle this properly and the corresponding buffer is never released.
> Making the Foreman wait for all fragments to finish before sending the final state should help avoid such scenarios.



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