Class RunningQueryManager


  • public class RunningQueryManager
    extends Object
    Keep information about all running queries.
    • 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_HIST_VIEW

        public static final String SQL_QRY_HIST_VIEW
      • 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

      • 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, or null otherwise.
        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 by register method.
        failReason - exception that caused query execution fail, or null if query succeded.
      • runningSqlQueries

        public List<GridRunningQueryInfo> runningSqlQueries()
        Return SQL queries which executing right now.
        Returns:
        List of SQL running queries.
      • 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, if null, cancel local query.
        async - If true, execute asynchronously.
      • onDisconnected

        public void onDisconnected()
        Client disconnected callback.
      • 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 null in case no running query for given id.
      • resetQueryHistoryMetrics

        public void resetQueryHistoryMetrics()
        Reset query history.