Package io.trino.dispatcher
Class LocalDispatchQuery
java.lang.Object
io.trino.dispatcher.LocalDispatchQuery
- All Implemented Interfaces:
DispatchQuery,ManagedQueryExecution,QueryTracker.TrackedQuery
-
Constructor Summary
ConstructorsConstructorDescriptionLocalDispatchQuery(QueryStateMachine stateMachine, com.google.common.util.concurrent.ListenableFuture<QueryExecution> queryExecutionFuture, QueryMonitor queryMonitor, ClusterSizeMonitor clusterSizeMonitor, Executor queryExecutor, Consumer<QueryExecution> querySubmitter) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddStateChangeListener(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()voidorg.joda.time.DateTimecom.google.common.util.concurrent.ListenableFuture<Void> Optional<org.joda.time.DateTime> Optional<org.joda.time.DateTime> org.joda.time.DateTimeOptional<io.airlift.units.Duration> getState()io.airlift.units.Durationio.airlift.units.DataSizeio.airlift.units.DataSizebooleanisDone()booleanvoidvoidvoid
-
Constructor Details
-
LocalDispatchQuery
public LocalDispatchQuery(QueryStateMachine stateMachine, com.google.common.util.concurrent.ListenableFuture<QueryExecution> queryExecutionFuture, QueryMonitor queryMonitor, ClusterSizeMonitor clusterSizeMonitor, Executor queryExecutor, Consumer<QueryExecution> querySubmitter)
-
-
Method Details
-
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
- Specified by:
getDispatchedFuturein interfaceDispatchQuery
-
getDispatchInfo
- Specified by:
getDispatchInfoin interfaceDispatchQuery
-
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
- Specified by:
getExecutionStartTimein interfaceQueryTracker.TrackedQuery
-
getPlanningTime
- Specified by:
getPlanningTimein interfaceQueryTracker.TrackedQuery
-
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
- Specified by:
getBasicQueryInfoin interfaceManagedQueryExecution
-
getFullQueryInfo
- Specified by:
getFullQueryInfoin interfaceManagedQueryExecution
-
getState
- Specified by:
getStatein interfaceManagedQueryExecution
-
getSession
- Specified by:
getSessionin interfaceManagedQueryExecution- Specified by:
getSessionin interfaceQueryTracker.TrackedQuery
-
fail
- 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
-
isInfoPruned
public boolean isInfoPruned()- Specified by:
isInfoPrunedin interfaceQueryTracker.TrackedQuery
-
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
-