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] [Closed] (DRILL-2977) In WorkManager, startFragmentPendingRemote() and addFragmentRunner() need to be permuted
Date Tue, 14 Jul 2015 23:46:06 GMT

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

Sudheesh Katkam closed DRILL-2977.
----------------------------------

> In WorkManager, startFragmentPendingRemote() and addFragmentRunner() need to be permuted
> ----------------------------------------------------------------------------------------
>
>                 Key: DRILL-2977
>                 URL: https://issues.apache.org/jira/browse/DRILL-2977
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Flow
>            Reporter: Deneche A. Hakim
>            Assignee: Sudheesh Katkam
>             Fix For: 1.0.0
>
>         Attachments: DRILL-2977.2.patch.txt, DRILL-2977.3.patch.txt, DRILL-2977.4.patch.txt
>
>
> In WorkManager 2 methods can be used to start a fragment executor:
> - startFragmentPendingRemote(FragmentManager) will start running a fragment by calling
executor.execute(fragment)
> - addFragmentRunner(FragmentExecutor) will add the fragment to runningFragments and start
a fragment after wrapping it inside a SelfCleanableRunner to make sure it's manager is removed
from the WorkEventBus once finished.
> Looking at how both methods are called it seems that we are actually calling startFragmentPendingRemote()
for fragments that were added to the WorkEventBus and we call addFragmentRunner() for fragment
that were not added to the workBus!!! For example in Foreman.setupRootFragment() we have the
following:
> {code}
>     if (buffers.isDone()) {
>       // if we don't have to wait for any incoming data, start the fragment runner.
>       bee.addFragmentRunner(fragmentManager.getRunnable());
>     } else {
>       // if we do, record the fragment manager in the workBus.
>       drillbitContext.getWorkBus().addFragmentManager(fragmentManager);
>     }
> {code}
> The names of the methods are correct, but we need to switch their implementations



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

Mime
View raw message