Package org.apache.drill.exec.work
Class WorkManager.WorkerBee
java.lang.Object
org.apache.drill.exec.work.WorkManager.WorkerBee
- Enclosing class:
- WorkManager
Narrowed interface to WorkManager that is made available to tasks it is managing.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addFragmentRunner
(FragmentExecutor fragmentExecutor) Currently used to start a root fragment that is not blocked on data, and leaf fragments.void
addNewForeman
(Foreman foreman) void
addNewWork
(Runnable runnable) Add a self contained runnable work to executor service.boolean
cancelForeman
(UserBitShared.QueryId queryId, DrillUserPrincipal principal) void
receiveRuntimeFilter
(RuntimeFilterWritable runtimeFilter) receive the RuntimeFilter thorough the wirevoid
retireForeman
(Foreman foreman) Remove the given Foreman from the running query list.void
startFragmentPendingRemote
(FragmentManager fragmentManager) Currently used to start a root fragment that is blocked on data, and intermediate fragments.
-
Constructor Details
-
WorkerBee
public WorkerBee()
-
-
Method Details
-
addNewForeman
-
addNewWork
Add a self contained runnable work to executor service.- Parameters:
runnable
- runnable to execute
-
retireForeman
Remove the given Foreman from the running query list.The running query list is a bit of a misnomer, because it doesn't necessarily mean that
Foreman.run()
is executing. That only lasts for the duration of query setup, after which the Foreman instance survives as a state machine that reacts to events from the local root fragment as well as RPC responses from remote Drillbits.- Parameters:
foreman
- the Foreman to retire
-
getContext
-
addFragmentRunner
Currently used to start a root fragment that is not blocked on data, and leaf fragments.- Parameters:
fragmentExecutor
- the executor to run
-
startFragmentPendingRemote
Currently used to start a root fragment that is blocked on data, and intermediate fragments. This method is called, when the first batch arrives.- Parameters:
fragmentManager
- the manager for the fragment
-
getFragmentRunner
-
receiveRuntimeFilter
receive the RuntimeFilter thorough the wire- Parameters:
runtimeFilter
- runtime filter
-