ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Николай Ижиков" <nizhi...@apache.org>
Subject Re: [DISCUSSION] API to KILL any user started computation
Date Thu, 16 Jan 2020 11:19:08 GMT
Hello, Alexey.

I’m talking about *administrator* API.

For example, the User has a cluster that is used by several applications.
Some application starts buggy compute tasks that consume all CPU resources.
Right now, administrator doesn’t have the ability to kill this task.

This can lead to instability of the whole cluster.


> 16 янв. 2020 г., в 13:42, Alexei Scherbakov <alexey.scherbakoff@gmail.com>
написал(а):
> 
> Transactions can be also rolled back using tx.close where close is
> java.lang.AutoCloseable#close
> It looks for me to the definition of uniform cancel API.
> 
> 
> 
> чт, 16 янв. 2020 г. в 13:37, Alexei Scherbakov <alexey.scherbakoff@gmail.com
>> :
> 
>> Nikolaj,
>> 
>> We already have cancellation possibilities for almost every user
>> computation.
>> Transactions are cancelled using tx.rollback()
>> Queries are cancelled using query.close()
>> Task is cancellable through ComputeTaskSession
>> 
>> What is uniform cancel API ? Why do we need it ?
>> 
>> 
>> 
>> ср, 15 янв. 2020 г. в 21:30, Николай Ижиков <nizhikov@apache.org>:
>> 
>>> Hello, Igniters.
>>> 
>>> As you may know, we put a lot of effort to improve Ignite metric and
>>> diagnostic API.
>>> We have created the following API:
>>>    * Metric manager
>>>    * System view manager
>>> As far as I know, we would have tracing capabilities soon.
>>> 
>>> I think it's time to take the next step.
>>> We should provide to the administrator the API to cancel(stop, kill)
>>> arbitrary user started computation.
>>> 
>>> Right now we have API to do it for:
>>>    * transactions `TransactionsMXBean#getActiveTransactions`.
>>>    * SQL queries: `KILL QUERY` sql command and visor task -
>>> `VisorQueryCancelTask`
>>> 
>>> Please, note, these features are implemented via different API.
>>> 
>>> I think we should introduce uniform Cancel API for the following
>>> computations:
>>> 
>>>    * service.
>>>    * specific service method execution.
>>>    * compute job(compute task).
>>>    * query(scan, continuous, text).
>>> 
>>> We should  also rework kill transaction and kill SQL queries API to make
>>> them similar to each other.
>>> I have plans to write an IEP for it and implement it.
>>> What do you think?
>>> 
>>> 
>> 
>> --
>> 
>> Best regards,
>> Alexei Scherbakov
>> 
> 
> 
> -- 
> 
> Best regards,
> Alexei Scherbakov


Mime
View raw message