[jira] [Updated] (DRILL-2878) FragmentExecutor.closeOutResources() is not called if an exception happens in the Foreman before the fragment executor starts running
[ 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.5.patch.txt fixed WorkerBee.startFragmentPendingRemote() to not start a fragment executor if it's null (cancelled). 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, DRILL-2878.5.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)
[jira] [Updated] (DRILL-2878) FragmentExecutor.closeOutResources() is not called if an exception happens in the Foreman before the fragment executor starts running
[ 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)
[jira] [Updated] (DRILL-2878) FragmentExecutor.closeOutResources() is not called if an exception happens in the Foreman before the fragment executor starts running
[ 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.2.patch.txt added more information in the comment. Also added a unit test Note: the unit test assumes DRILL-2757 has been committed as it tries to inject an exception in a position defined in DRILL-2757 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: Deneche A. Hakim Fix For: 1.0.0 Attachments: DRILL-2878.1.patch.txt, DRILL-2878.2.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)
[jira] [Updated] (DRILL-2878) FragmentExecutor.closeOutResources() is not called if an exception happens in the Foreman before the fragment executor starts running
[ 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.1.patch.txt This is an initial patch, not ready to be merged yet. But I need a review of the solution, so I can go ahead and complete the patch Thanks 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)
[jira] [Updated] (DRILL-2878) FragmentExecutor.closeOutResources() is not called if an exception happens in the Foreman before the fragment executor starts running
[ https://issues.apache.org/jira/browse/DRILL-2878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Deneche A. Hakim updated DRILL-2878: Assignee: Chris Westin (was: Deneche A. Hakim) 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 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)
[jira] [Updated] (DRILL-2878) FragmentExecutor.closeOutResources() is not called if an exception happens in the Foreman before the fragment executor starts running
[ https://issues.apache.org/jira/browse/DRILL-2878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chris Westin updated DRILL-2878: Assignee: Deneche A. Hakim (was: Chris Westin) 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: Deneche A. Hakim Fix For: 1.0.0 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)
[jira] [Updated] (DRILL-2878) FragmentExecutor.closeOutResources() is not called if an exception happens in the Foreman before the fragment executor starts running
[ https://issues.apache.org/jira/browse/DRILL-2878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chris Westin updated DRILL-2878: Fix Version/s: 1.0.0 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 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)