Class TaskExecutor


  • @NotThreadSafe
    public final class TaskExecutor
    extends Object
    Executes a task. Should be accessed by a single thread.
    • Constructor Detail

      • TaskExecutor

        public TaskExecutor​(Task task,
                            DAG<IRVertex,​RuntimeEdge<IRVertex>> irVertexDag,
                            TaskStateManager taskStateManager,
                            IntermediateDataIOFactory intermediateDataIOFactory,
                            BroadcastManagerWorker broadcastManagerWorker,
                            MetricMessageSender metricMessageSender,
                            PersistentConnectionToMasterMap persistentConnectionToMasterMap)
        Constructor.
        Parameters:
        task - Task with information needed during execution.
        irVertexDag - A DAG of vertices.
        taskStateManager - State manager for this Task.
        intermediateDataIOFactory - For reading from/writing to data to other tasks.
        broadcastManagerWorker - For broadcasts.
        metricMessageSender - For sending metric with execution stats to the master.
        persistentConnectionToMasterMap - For sending messages to the master.
    • Method Detail

      • execute

        public void execute()
        Execute a task, while handling unrecoverable errors and exceptions.
      • setIRVertexPutOnHold

        public void setIRVertexPutOnHold​(IRVertex irVertex)