[
https://issues.apache.org/jira/browse/DRILL-2878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Deneche A. Hakim updated DRILL-2878:
------------------------------------
Attachment: DRILL-2878.3.patch.txt
unit test will fail if the query doesn't fail as expected
> 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: Jacques Nadeau
> Fix For: 1.0.0
>
> Attachments: DRILL-2878.1.patch.txt, DRILL-2878.2.patch.txt,
> DRILL-2878.3.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)