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

Deneche A. Hakim commented on DRILL-2878:
-----------------------------------------

Yeah, that's why the patch starts with "quick fix"

I thought I could somehow update the FragmentManager to close the fragment 
executor if it didn't start running but then I realized a similar problem 
exists for fragment managers: if you don't start a fragment you will never 
remove it's manager from the work bus!

> FragmentExecutor.closeOutResources() is not called if an exception happens in 
> the Foreman before the fragment executor starts running
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-2878
>                 URL: https://issues.apache.org/jira/browse/DRILL-2878
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Flow
>            Reporter: Deneche A. Hakim
>            Assignee: Chris Westin
>             Fix For: 1.0.0
>
>         Attachments: DRILL-2878.1.patch.txt
>
>
> When the Foreman sets up the root FragmentExecutor and it needs to wait for 
> data from the remote fragments, the fragment manager is recorded in the work 
> bus and the root fragment executor is not run immediately.
> If an exception happens in the Foreman while setting up the remote fragments, 
> the Foreman cancels all fragments and returns a FAILED message to the client.
> Because the root fragment executor was not run it will never call it's 
> closeOutResources() method and it's fragment context will never be closed.
> You can easily reproduce this by running the following unit test:
> {noformat}
> org.apache.drill.exec.server.TestDrillbitResilience#failsWhenSendingFragments
> {noformat}
> although the test passes successfully because Drill does report the correct 
> failure to the client, the memory leak is not detected and will show up after 
> the test finishes



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

Reply via email to