Yuriy, Would not it be more convenient fro user to write a request in a free form, like KILL QUERY WHERE ...
For example, KILL QUERY WHERE duration > 15000 Or is it going to be too hard to implement? Also, is this syntax going to work only from thin clients, or if it just designed for them, but will also be usable from basic SQL API? Best Regards, Igor On Tue, Nov 13, 2018 at 12:15 PM Юрий <jury.gerzhedow...@gmail.com> wrote: > Igniters, > > Some comments for my original email's. > > The proposal related to part of IEP-29 > < > https://cwiki.apache.org/confluence/display/IGNITE/IEP-29%3A+SQL+management+and+monitoring > > > . > > What purpose are we pursuing of the proposal? > We want to be able check which queries running right now through thin > clients. Get some information related to the queries and be able to cancel > a query if it required for some reasons. > So, we need interface to get a running queries. For the goal we propose > running_queries system view. The view contains unique query identifier > which need to pass to kill query command to cancel the query. > > What do you think about fields of the running queries view? May be some > useful fields we could easy add to the view. > > Also let's discuss syntax of cancellation of query. I propose to use MySQL > like syntax as easy to understand and shorter then Oracle and Postgres > syntax ( detailed information in IEP-29 > < > https://cwiki.apache.org/confluence/display/IGNITE/IEP-29%3A+SQL+management+and+monitoring > > > ). > > > > пн, 12 нояб. 2018 г. в 19:28, Юрий <jury.gerzhedow...@gmail.com>: > > > Igniters, > > > > Below is a proposed design for thin client SQL management and monitoring > > to cancel a queries. > > > > 1) Ignite expose system SQL view with name *running_queries* > > proposed columns: *node_id, query_id, sql, schema_name, connection_id, > > duration*. > > > > node_id - initial node of request > > query_id - unique id of query on node > > sql - text of query > > schema name - name of sql schema > > connection_id - id of client connection from > ClientListenerConnectionContext > > class > > duration - duration in millisecond from start of query > > > > > > Ignite will gather info about running queries from each of nodes and > > collect it during user query. We already have most of the information at > GridRunningQueryInfo > > on each of nodes. > > > > Instead of duration we can use start_time, but I think duration will be > > simple to use due to it not depend on a timezone. > > > > > > 2) Propose to use following syntax to kill a running query: > > > > *KILL QUERY node_Id query_id* > > > > > > Both parameters node_id and query_id can be get through running_queries > > system view. > > > > When a node receive such request it can be run locally in case node have > > given node_id or send message to node with given id. Because node have > > information about local running queries then can cancel it - it already > > implemented in GridReduceQueryExecutor.cancelQueries(qryId) method. > > > > Comments are welcome. > > -- > > Живи с улыбкой! :D > > > > > -- > Живи с улыбкой! :D >