Class RunningQueryManager
- java.lang.Object
-
- org.apache.ignite.internal.processors.query.running.RunningQueryManager
-
public class RunningQueryManager extends Object
Keep information about all running queries.
-
-
Field Summary
Fields Modifier and Type Field Description static StringSQL_QRY_HIST_VIEWstatic StringSQL_QRY_HIST_VIEW_DESCstatic StringSQL_QRY_VIEWstatic StringSQL_QRY_VIEW_DESCstatic StringSQL_USER_QUERIES_REG_NAMEName of the MetricRegistry which metrics measure stats of queries initiated by user.static longUNDEFINED_QUERY_IDUndefined query ID value.
-
Constructor Summary
Constructors Constructor Description RunningQueryManager(GridKernalContext ctx)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcancelLocalQuery(long qryId)Cancel query.voidcancelQuery(long queryId, @Nullable UUID nodeId, boolean async)Cancel query running on remote or local Node.HeavyQueriesTrackerheavyQueriesTracker()voidonDisconnected()Client disconnected callback.Map<QueryHistoryKey,QueryHistory>queryHistoryMetrics()Gets query history statistics.longregister(String qry, GridCacheQueryType qryType, String schemaName, boolean loc, @Nullable GridQueryCancel cancel, String qryInitiatorId, boolean enforceJoinOrder, boolean lazy, boolean distributedJoins)Registers running query and returns an id associated with the query.voidregisterQueryFinishedListener(Consumer<GridQueryFinishedInfo> lsnr)voidregisterQueryStartedListener(Consumer<GridQueryStartedInfo> lsnr)voidresetQueryHistoryMetrics()Reset query history.Collection<GridRunningQueryInfo>runningQueries(long duration)Return running user queries.@Nullable GridRunningQueryInforunningQueryInfo(long qryId)Gets info about running query by their id.List<GridRunningQueryInfo>runningSqlQueries()Return SQL queries which executing right now.voidstart(GridSpinBusyLock busyLock)voidstop()Cancel all executing queries and deregistering all of them.StringtoString()voidunregister(long qryId, @Nullable Throwable failReason)Unregister running query.booleanunregisterQueryFinishedListener(Object lsnr)booleanunregisterQueryStartedListener(Object lsnr)
-
-
-
Field Detail
-
SQL_USER_QUERIES_REG_NAME
public static final String SQL_USER_QUERIES_REG_NAME
Name of the MetricRegistry which metrics measure stats of queries initiated by user.- See Also:
- Constant Field Values
-
SQL_QRY_VIEW
public static final String SQL_QRY_VIEW
-
SQL_QRY_VIEW_DESC
public static final String SQL_QRY_VIEW_DESC
- See Also:
- Constant Field Values
-
SQL_QRY_HIST_VIEW
public static final String SQL_QRY_HIST_VIEW
-
SQL_QRY_HIST_VIEW_DESC
public static final String SQL_QRY_HIST_VIEW_DESC
- See Also:
- Constant Field Values
-
UNDEFINED_QUERY_ID
public static final long UNDEFINED_QUERY_ID
Undefined query ID value.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RunningQueryManager
public RunningQueryManager(GridKernalContext ctx)
Constructor.- Parameters:
ctx- Context.
-
-
Method Detail
-
start
public void start(GridSpinBusyLock busyLock)
-
register
public long register(String qry, GridCacheQueryType qryType, String schemaName, boolean loc, @Nullable @Nullable GridQueryCancel cancel, String qryInitiatorId, boolean enforceJoinOrder, boolean lazy, boolean distributedJoins)
Registers running query and returns an id associated with the query.- Parameters:
qry- Query text.qryType- Query type.schemaName- Schema name.loc- Local query flag.cancel- Query cancel. Should be passed in case query is cancelable, ornullotherwise.enforceJoinOrder- Enforce join order flag.lazy- Lazy flag.distributedJoins- Distributed joins flag.- Returns:
- Id of registered query. Id is a positive number.
-
unregister
public void unregister(long qryId, @Nullable @Nullable Throwable failReason)Unregister running query.- Parameters:
qryId- id of the query, which is given byregistermethod.failReason- exception that caused query execution fail, ornullif query succeded.
-
runningSqlQueries
public List<GridRunningQueryInfo> runningSqlQueries()
Return SQL queries which executing right now.- Returns:
- List of SQL running queries.
-
heavyQueriesTracker
public HeavyQueriesTracker heavyQueriesTracker()
-
registerQueryStartedListener
public void registerQueryStartedListener(Consumer<GridQueryStartedInfo> lsnr)
- Parameters:
lsnr- Listener.
-
unregisterQueryStartedListener
public boolean unregisterQueryStartedListener(Object lsnr)
- Parameters:
lsnr- Listener.
-
registerQueryFinishedListener
public void registerQueryFinishedListener(Consumer<GridQueryFinishedInfo> lsnr)
- Parameters:
lsnr- Listener.
-
unregisterQueryFinishedListener
public boolean unregisterQueryFinishedListener(Object lsnr)
- Parameters:
lsnr- Listener.
-
runningQueries
public Collection<GridRunningQueryInfo> runningQueries(long duration)
Return running user queries.- Parameters:
duration- Duration of query.- Returns:
- Collection of queries which running longer than given duration.
-
cancelLocalQuery
public void cancelLocalQuery(long qryId)
Cancel query.- Parameters:
qryId- Query id.
-
stop
public void stop()
Cancel all executing queries and deregistering all of them.
-
cancelQuery
public void cancelQuery(long queryId, @Nullable @Nullable UUID nodeId, boolean async)Cancel query running on remote or local Node.- Parameters:
queryId- Query id.nodeId- Node id, ifnull, cancel local query.async- Iftrue, execute asynchronously.
-
onDisconnected
public void onDisconnected()
Client disconnected callback.
-
queryHistoryMetrics
public Map<QueryHistoryKey,QueryHistory> queryHistoryMetrics()
Gets query history statistics. Size of history could be configured viaSqlConfiguration.setSqlQueryHistorySize(int)- Returns:
- Queries history statistics aggregated by query text, schema and local flag.
-
runningQueryInfo
@Nullable public @Nullable GridRunningQueryInfo runningQueryInfo(long qryId)
Gets info about running query by their id.- Parameters:
qryId- Query Id.- Returns:
- Running query info or
nullin case no running query for given id.
-
resetQueryHistoryMetrics
public void resetQueryHistoryMetrics()
Reset query history.
-
-