Package io.trino.server.remotetask
Class HttpRemoteTask
java.lang.Object
io.trino.server.remotetask.HttpRemoteTask
- All Implemented Interfaces:
RemoteTask
-
Constructor Summary
ConstructorsConstructorDescriptionHttpRemoteTask(Session session, TaskId taskId, String nodeId, URI location, PlanFragment planFragment, com.google.common.collect.Multimap<PlanNodeId, Split> initialSplits, 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, Set<DynamicFilterId> outboundDynamicFilterIds) -
Method Summary
Modifier and TypeMethodDescriptionvoidabort()voidaddFinalTaskInfoListener(StateMachine.StateChangeListener<TaskInfo> stateChangeListener) Add a listener for the final task info.voidaddSplits(com.google.common.collect.Multimap<PlanNodeId, Split> splitsBySource) voidaddStateChangeListener(StateMachine.StateChangeListener<TaskStatus> stateChangeListener) Listener is always notified asynchronously using a dedicated notification thread pool so, care should be taken to avoid leakingthiswhen adding a listener in a constructor.voidcancel()voidMove the task directly to the failed state if there was a failure in this taskintvoidnoMoreSplits(PlanNodeId sourceId) voidnoMoreSplits(PlanNodeId sourceId, Lifespan lifespan) voidsetOutputBuffers(OutputBuffers newOutputBuffers) voidstart()toString()com.google.common.util.concurrent.ListenableFuture<Void>whenSplitQueueHasSpace(long weightThreshold)
-
Constructor Details
-
HttpRemoteTask
public HttpRemoteTask(Session session, TaskId taskId, String nodeId, URI location, PlanFragment planFragment, com.google.common.collect.Multimap<PlanNodeId, Split> initialSplits, 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, Set<DynamicFilterId> outboundDynamicFilterIds)
-
-
Method Details
-
getTaskId
- Specified by:
getTaskIdin interfaceRemoteTask
-
getNodeId
- Specified by:
getNodeIdin interfaceRemoteTask
-
getTaskInfo
- Specified by:
getTaskInfoin interfaceRemoteTask
-
getTaskStatus
- Specified by:
getTaskStatusin interfaceRemoteTask
-
start
public void start()- Specified by:
startin interfaceRemoteTask
-
addSplits
- Specified by:
addSplitsin interfaceRemoteTask
-
noMoreSplits
- Specified by:
noMoreSplitsin interfaceRemoteTask
-
noMoreSplits
- Specified by:
noMoreSplitsin interfaceRemoteTask
-
setOutputBuffers
- Specified by:
setOutputBuffersin interfaceRemoteTask
-
getPartitionedSplitsInfo
- Specified by:
getPartitionedSplitsInfoin interfaceRemoteTask
-
getUnacknowledgedPartitionedSplitsInfo
-
getQueuedPartitionedSplitsInfo
- Specified by:
getQueuedPartitionedSplitsInfoin interfaceRemoteTask
-
getUnacknowledgedPartitionedSplitCount
public int getUnacknowledgedPartitionedSplitCount()- Specified by:
getUnacknowledgedPartitionedSplitCountin interfaceRemoteTask
-
addStateChangeListener
public void addStateChangeListener(StateMachine.StateChangeListener<TaskStatus> stateChangeListener) Description copied from interface:RemoteTaskListener is always notified asynchronously using a dedicated notification thread pool so, care should be taken to avoid leakingthiswhen adding a listener in a constructor. Additionally, it is possible notifications are observed out of order due to the asynchronous execution.- Specified by:
addStateChangeListenerin interfaceRemoteTask
-
addFinalTaskInfoListener
public void addFinalTaskInfoListener(StateMachine.StateChangeListener<TaskInfo> stateChangeListener) Description copied from interface:RemoteTaskAdd 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 leakingthiswhen adding a listener in a constructor. Additionally, it is possible notifications are observed out of order due to the asynchronous execution.- Specified by:
addFinalTaskInfoListenerin interfaceRemoteTask
-
whenSplitQueueHasSpace
public com.google.common.util.concurrent.ListenableFuture<Void> whenSplitQueueHasSpace(long weightThreshold) - Specified by:
whenSplitQueueHasSpacein interfaceRemoteTask
-
cancel
public void cancel()- Specified by:
cancelin interfaceRemoteTask
-
abort
public void abort()- Specified by:
abortin interfaceRemoteTask
-
fail
Move the task directly to the failed state if there was a failure in this task- Specified by:
failin interfaceRemoteTask
-
toString
-