Package io.trino.dispatcher
Class LocalDispatchQuery
- java.lang.Object
-
- io.trino.dispatcher.LocalDispatchQuery
-
- All Implemented Interfaces:
DispatchQuery,ManagedQueryExecution,QueryTracker.TrackedQuery
public class LocalDispatchQuery extends Object implements DispatchQuery
-
-
Constructor Summary
Constructors Constructor Description LocalDispatchQuery(QueryStateMachine stateMachine, com.google.common.util.concurrent.ListenableFuture<QueryExecution> queryExecutionFuture, QueryMonitor queryMonitor, ClusterSizeMonitor clusterSizeMonitor, Executor queryExecutor, Consumer<QueryExecution> querySubmitter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddStateChangeListener(StateMachine.StateChangeListener<QueryState> 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()voidfail(Throwable throwable)BasicQueryInfogetBasicQueryInfo()org.joda.time.DateTimegetCreateTime()com.google.common.util.concurrent.ListenableFuture<Void>getDispatchedFuture()DispatchInfogetDispatchInfo()Optional<org.joda.time.DateTime>getEndTime()Optional<ErrorCode>getErrorCode()Optional<org.joda.time.DateTime>getExecutionStartTime()QueryInfogetFullQueryInfo()org.joda.time.DateTimegetLastHeartbeat()Optional<io.airlift.units.Duration>getPlanningTime()QueryIdgetQueryId()SessiongetSession()QueryStategetState()io.airlift.units.DurationgetTotalCpuTime()io.airlift.units.DataSizegetTotalMemoryReservation()io.airlift.units.DataSizegetUserMemoryReservation()booleanisDone()voidpruneInfo()voidrecordHeartbeat()voidstartWaitingForResources()
-
-
-
Constructor Detail
-
LocalDispatchQuery
public LocalDispatchQuery(QueryStateMachine stateMachine, com.google.common.util.concurrent.ListenableFuture<QueryExecution> queryExecutionFuture, QueryMonitor queryMonitor, ClusterSizeMonitor clusterSizeMonitor, Executor queryExecutor, Consumer<QueryExecution> querySubmitter)
-
-
Method Detail
-
startWaitingForResources
public void startWaitingForResources()
- Specified by:
startWaitingForResourcesin interfaceManagedQueryExecution
-
recordHeartbeat
public void recordHeartbeat()
- Specified by:
recordHeartbeatin interfaceDispatchQuery
-
getLastHeartbeat
public org.joda.time.DateTime getLastHeartbeat()
- Specified by:
getLastHeartbeatin interfaceQueryTracker.TrackedQuery
-
getDispatchedFuture
public com.google.common.util.concurrent.ListenableFuture<Void> getDispatchedFuture()
- Specified by:
getDispatchedFuturein interfaceDispatchQuery
-
getDispatchInfo
public DispatchInfo getDispatchInfo()
- Specified by:
getDispatchInfoin interfaceDispatchQuery
-
getQueryId
public QueryId getQueryId()
- Specified by:
getQueryIdin interfaceQueryTracker.TrackedQuery
-
isDone
public boolean isDone()
- Specified by:
isDonein interfaceManagedQueryExecution- Specified by:
isDonein interfaceQueryTracker.TrackedQuery
-
getCreateTime
public org.joda.time.DateTime getCreateTime()
- Specified by:
getCreateTimein interfaceQueryTracker.TrackedQuery
-
getExecutionStartTime
public Optional<org.joda.time.DateTime> getExecutionStartTime()
- Specified by:
getExecutionStartTimein interfaceQueryTracker.TrackedQuery
-
getPlanningTime
public Optional<io.airlift.units.Duration> getPlanningTime()
- Specified by:
getPlanningTimein interfaceQueryTracker.TrackedQuery
-
getEndTime
public Optional<org.joda.time.DateTime> getEndTime()
- Specified by:
getEndTimein interfaceQueryTracker.TrackedQuery
-
getTotalCpuTime
public io.airlift.units.Duration getTotalCpuTime()
- Specified by:
getTotalCpuTimein interfaceManagedQueryExecution
-
getTotalMemoryReservation
public io.airlift.units.DataSize getTotalMemoryReservation()
- Specified by:
getTotalMemoryReservationin interfaceManagedQueryExecution
-
getUserMemoryReservation
public io.airlift.units.DataSize getUserMemoryReservation()
- Specified by:
getUserMemoryReservationin interfaceManagedQueryExecution
-
getBasicQueryInfo
public BasicQueryInfo getBasicQueryInfo()
- Specified by:
getBasicQueryInfoin interfaceManagedQueryExecution
-
getFullQueryInfo
public QueryInfo getFullQueryInfo()
- Specified by:
getFullQueryInfoin interfaceManagedQueryExecution
-
getState
public QueryState getState()
- Specified by:
getStatein interfaceManagedQueryExecution
-
getSession
public Session getSession()
- Specified by:
getSessionin interfaceManagedQueryExecution- Specified by:
getSessionin interfaceQueryTracker.TrackedQuery
-
fail
public void fail(Throwable throwable)
- Specified by:
failin interfaceManagedQueryExecution- Specified by:
failin interfaceQueryTracker.TrackedQuery
-
cancel
public void cancel()
- Specified by:
cancelin interfaceDispatchQuery
-
pruneInfo
public void pruneInfo()
- Specified by:
pruneInfoin interfaceQueryTracker.TrackedQuery
-
getErrorCode
public Optional<ErrorCode> getErrorCode()
- Specified by:
getErrorCodein interfaceManagedQueryExecution- Returns:
- Returns non-empty value iff error has occurred and query failed state is visible.
-
addStateChangeListener
public void addStateChangeListener(StateMachine.StateChangeListener<QueryState> stateChangeListener)
Description copied from interface:ManagedQueryExecutionListener 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 interfaceManagedQueryExecution
-
-