Package io.prestosql.server.remotetask
Class HttpRemoteTask
- java.lang.Object
-
- io.prestosql.server.remotetask.HttpRemoteTask
-
- All Implemented Interfaces:
RemoteTask
public final class HttpRemoteTask extends Object implements RemoteTask
-
-
Constructor Summary
Constructors Constructor Description HttpRemoteTask(Session session, TaskId taskId, String nodeId, URI location, PlanFragment planFragment, com.google.common.collect.Multimap<PlanNodeId,Split> initialSplits, OptionalInt totalPartitions, OutputBuffers outputBuffers, io.airlift.http.client.HttpClient httpClient, Executor executor, ScheduledExecutorService updateScheduledExecutor, ScheduledExecutorService errorScheduledExecutor, io.airlift.units.Duration maxErrorDuration, io.airlift.units.Duration taskStatusRefreshMaxWait, io.airlift.units.Duration taskInfoUpdateInterval, boolean summarizeTaskInfo, io.airlift.json.JsonCodec<TaskStatus> taskStatusCodec, io.airlift.json.JsonCodec<DynamicFiltersCollector.VersionedDynamicFilterDomains> dynamicFilterDomainsCodec, io.airlift.json.JsonCodec<TaskInfo> taskInfoCodec, io.airlift.json.JsonCodec<TaskUpdateRequest> taskUpdateRequestCodec, NodeTaskMap.PartitionedSplitCountTracker partitionedSplitCountTracker, RemoteTaskStats stats, DynamicFilterService dynamicFilterService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort()
void
addFinalTaskInfoListener(StateMachine.StateChangeListener<TaskInfo> stateChangeListener)
Add a listener for the final task info.void
addSplits(com.google.common.collect.Multimap<PlanNodeId,Split> splitsBySource)
void
addStateChangeListener(StateMachine.StateChangeListener<TaskStatus> stateChangeListener)
Listener is always notified asynchronously using a dedicated notification thread pool so, care should be taken to avoid leakingthis
when adding a listener in a constructor.void
cancel()
String
getNodeId()
int
getPartitionedSplitCount()
int
getQueuedPartitionedSplitCount()
TaskId
getTaskId()
TaskInfo
getTaskInfo()
TaskStatus
getTaskStatus()
void
noMoreSplits(PlanNodeId sourceId)
void
noMoreSplits(PlanNodeId sourceId, Lifespan lifespan)
void
setOutputBuffers(OutputBuffers newOutputBuffers)
void
start()
String
toString()
com.google.common.util.concurrent.ListenableFuture<?>
whenSplitQueueHasSpace(int threshold)
-
-
-
Constructor Detail
-
HttpRemoteTask
public HttpRemoteTask(Session session, TaskId taskId, String nodeId, URI location, PlanFragment planFragment, com.google.common.collect.Multimap<PlanNodeId,Split> initialSplits, OptionalInt totalPartitions, OutputBuffers outputBuffers, io.airlift.http.client.HttpClient httpClient, Executor executor, ScheduledExecutorService updateScheduledExecutor, ScheduledExecutorService errorScheduledExecutor, io.airlift.units.Duration maxErrorDuration, io.airlift.units.Duration taskStatusRefreshMaxWait, io.airlift.units.Duration taskInfoUpdateInterval, boolean summarizeTaskInfo, io.airlift.json.JsonCodec<TaskStatus> taskStatusCodec, io.airlift.json.JsonCodec<DynamicFiltersCollector.VersionedDynamicFilterDomains> dynamicFilterDomainsCodec, io.airlift.json.JsonCodec<TaskInfo> taskInfoCodec, io.airlift.json.JsonCodec<TaskUpdateRequest> taskUpdateRequestCodec, NodeTaskMap.PartitionedSplitCountTracker partitionedSplitCountTracker, RemoteTaskStats stats, DynamicFilterService dynamicFilterService)
-
-
Method Detail
-
getTaskId
public TaskId getTaskId()
- Specified by:
getTaskId
in interfaceRemoteTask
-
getNodeId
public String getNodeId()
- Specified by:
getNodeId
in interfaceRemoteTask
-
getTaskInfo
public TaskInfo getTaskInfo()
- Specified by:
getTaskInfo
in interfaceRemoteTask
-
getTaskStatus
public TaskStatus getTaskStatus()
- Specified by:
getTaskStatus
in interfaceRemoteTask
-
start
public void start()
- Specified by:
start
in interfaceRemoteTask
-
addSplits
public void addSplits(com.google.common.collect.Multimap<PlanNodeId,Split> splitsBySource)
- Specified by:
addSplits
in interfaceRemoteTask
-
noMoreSplits
public void noMoreSplits(PlanNodeId sourceId)
- Specified by:
noMoreSplits
in interfaceRemoteTask
-
noMoreSplits
public void noMoreSplits(PlanNodeId sourceId, Lifespan lifespan)
- Specified by:
noMoreSplits
in interfaceRemoteTask
-
setOutputBuffers
public void setOutputBuffers(OutputBuffers newOutputBuffers)
- Specified by:
setOutputBuffers
in interfaceRemoteTask
-
getPartitionedSplitCount
public int getPartitionedSplitCount()
- Specified by:
getPartitionedSplitCount
in interfaceRemoteTask
-
getQueuedPartitionedSplitCount
public int getQueuedPartitionedSplitCount()
- Specified by:
getQueuedPartitionedSplitCount
in interfaceRemoteTask
-
addStateChangeListener
public void addStateChangeListener(StateMachine.StateChangeListener<TaskStatus> stateChangeListener)
Description copied from interface:RemoteTask
Listener is always notified asynchronously using a dedicated notification thread pool so, care should be taken to avoid leakingthis
when adding a listener in a constructor. Additionally, it is possible notifications are observed out of order due to the asynchronous execution.- Specified by:
addStateChangeListener
in interfaceRemoteTask
-
addFinalTaskInfoListener
public void addFinalTaskInfoListener(StateMachine.StateChangeListener<TaskInfo> stateChangeListener)
Description copied from interface:RemoteTask
Add a listener for the final task info. This notification is guaranteed to be fired only once. Listener is always notified asynchronously using a dedicated notification thread pool so, care should be taken to avoid leakingthis
when adding a listener in a constructor. Additionally, it is possible notifications are observed out of order due to the asynchronous execution.- Specified by:
addFinalTaskInfoListener
in interfaceRemoteTask
-
whenSplitQueueHasSpace
public com.google.common.util.concurrent.ListenableFuture<?> whenSplitQueueHasSpace(int threshold)
- Specified by:
whenSplitQueueHasSpace
in interfaceRemoteTask
-
cancel
public void cancel()
- Specified by:
cancel
in interfaceRemoteTask
-
abort
public void abort()
- Specified by:
abort
in interfaceRemoteTask
-
-