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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddFragmentRunner(FragmentExecutor fragmentExecutor) Currently used to start a root fragment that is not blocked on data, and leaf fragments.voidaddNewForeman(Foreman foreman) voidaddNewWork(Runnable runnable) Add a self contained runnable work to executor service.booleancancelForeman(UserBitShared.QueryId queryId, DrillUserPrincipal principal) voidreceiveRuntimeFilter(RuntimeFilterWritable runtimeFilter) receive the RuntimeFilter thorough the wirevoidretireForeman(Foreman foreman) Remove the given Foreman from the running query list.voidstartFragmentPendingRemote(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
-